Spring概括

Spring总结mysql

bean标签的scope属性web

scope="singleton"单例模式,默认值spring

scope="prototype",多例模式sql

 

 

注解元素服务器

@Component@Controller@Service@Repository(仓库)四个注解用来建立对象(这四个对象实际上是spring用来为不一样的业务层服务的,不过如今尚未实现);框架

@Autowired 对象属性自动注入,不须要写setter方法;优化

@Resource(name="book") 对象属性注入,name为对象名;编码

@Value(value="cat") 普通属性注入,value的值为字符串类型,系统会根据变量的类型自动转换;spa

 

 

aop操做相关术语hibernate

JoinPoint 链接点,要加强的方法;

Pointcut 切入点,实际加强的方法;

Advice 通知/加强,加强的逻辑,称为加强,好比扩展日志功能,日志功能就是加强;

通知的种类分为前置通知,后置通知,异常通知,最终通知,环绕通知。

切面,把加强用到切入点的过程;

引介,一种特殊的通知,再不修改类代码的前提下,能够在运行期为类动态地添加一些方法和属性;

Target,要加强的类;

Weaving 织入,把advice用到Target的过程;

 

aop配置切入点

经常使用的表达式
execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常>)
第一个*表明任意修饰符
(1) execution(* day1.Book.add(..)) Bookadd方法
(2) execution(* day1.Book.*(..))  Book中全部方法
(3) execution(* *.*(..)) 全部类中方法
(4) execution(* save*(..)) 全部save开头的方法

 

 

相关概念

ioc,控制反转反转就是能够能够经过类名、方法名等不经过硬编码的方式加载一个类、实例化一个类、调用类实例的方法,建立对象;

 

DI,依赖注入,类里面的属性注入值;

 

注解:代码里面的特殊标记,使用注解能够完成xml的功能;

 

纵向抽取机制,利用继承,在父类里面写一个方法,而后在子类的某个方法中调用这个方法;

 

横向抽取机制,底层使用动态代理方法实现;

 

aspectj是一个独立的框架,和spring一块儿进行aop的操做;

 

 

 

 

IOCDI详解

控制反转就是指引入在IOC容器以前,建立对象的控制权在本身手上,而引入它以后,该控制权就在IOC容器手上了,故曰控制反转;

 

 IOC的别名:依赖注入(DI)
2004年,Martin Fowler探讨了同一个问题,既然IOC是控制反转,那么究竟是哪些方面的控制被反转了呢?,通过详细地分析和论证后,他得出了答案:得到依赖对象的过程被反转了。控制被反转以后,得到依赖对象的过程由自身管理变为了由IOC容器主动注入。因而,他给控制反转取了一个更合适的名字叫作依赖注入(Dependency Injection。他的这个答案,实际上给出了实现IOC的方法:注入。所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。
因此,依赖注入(DI)和控制反转(IOC)是从不一样的角度的描述的同一件事情,就是指经过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦。

 

 

 

注意:

1、配置文件中的元素前后性不会对程序形成影响;

 

2、若是没有环绕加强,那么最终通知会在后置加强后执行,不然会在后置加强前执行,由于环绕加强在后置加强前就执行了。

 

 

 

3mysqlURL配置方式

 

 

 

 

 

 

 

Spring操做流程

获取bean对象

 

 

 

 

参数注入

 

 

若是使用p名称空间注入”,则需配置如下约束条件

 

 

 

 

注入复杂数据类型

 

 

 

 

 

 

 

 

配置通知(非注解方式)

 

 

MyBook

 

 

配置通知(注解方式)

Spring配置文件中配置

 

 

 

 

 

注解扫描

 

 

 

 

链接池配置

 

 

 

 

 

事务管理(非注解方式)

 

 

 

事务管理(注解方式)

 

 

 

 

 

jdbc的事务管理器是org.springframework.jdbc.datasource.DataSourceTransactionManager

hibernate的事务管理器是org.springframework.orm.hibernate4.HibernateTransactionManager

Mybatis进行事务控制,要使用jdbc的事务管理器;

 

 

 

Spring配置文件导入

 

 

 

 

优化Spring配置文件加载问题

设置Apache Tomcat服务器启动时加载spring配置文件,而且将spring容器中的对象放在“上下文-->Context”中,后面再加载该spring配置文件并获取对象时,系统会直接从Context中寻找,如此能够加快效率。

因此在web.xml中配置以下代码便可,

 

 

SSH整合流程

一、spring中配置数据源;

 

 

2、在spring中配置strutsAction对象,而且设置为多例模式;

3、在spring中配置“会话工厂”对象,

 

 

4、开启事务管理;

相关文章
相关标签/搜索