spring 注意点
一、为什么要用spring?
在不使用spring框架之前,我们的service层中要使用dao层的对象,不得不在service层中new一个对象。----------------- 麻烦
二、注入方式
set注入,构造方法注入,接口注入
采用属性的set方法进行初始化,就成为set注入。
三、注解
spring框架使用的是分层的注解。
持久层:@Repository;
服务层:@Service
控制层:@Controller
<context:component-scan base-package="com.xxx.spring" /> --------------------------告诉框架那些类是使用注解的。
这三个层中的注解关键字都可以使用@Component来代替。
使用注解声明对象,默认情况下生成的id名称为类名称的首字母小写。
四、AOP
使用
启用aop功能:就把标签添加进来就可以拉。
<aop:aspectj-autoproxy proxy-target-class="true"/>
五、spring配置方式
- 基于XML的配置
- 基于注解的配置
- 基于Java的配置
六、自动装配
- no:这是Spring框架的默认设置,在该设置下自动装配是关闭的,开发者需要自行在bean定义中用标签明确的设置依赖关系。
- byName:该选项可以根据bean名称设置依赖关系。当向一个bean中自动装配一个属性时,容器将根据bean的名称自动在在配置文件中查询一个匹配的bean。如果找到的话,就装配这个属性,如果没找到的话就报错。
- byType:该选项可以根据bean类型设置依赖关系。当向一个bean中自动装配一个属性时,容器将根据bean的类型自动在在配置文件中查询一个匹配的bean。如果找到的话,就装配这个属性,如果没找到的话就报错。
- constructor:造器的自动装配和byType模式类似,但是仅仅适用于与有构造器相同参数的bean,如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。
- autodetect:该模式自动探测使用构造器自动装配或者byType自动装配。首先,首先会尝试找合适的带参数的构造器,如果找到的话就是用构造器自动装配,如果在bean内部没有找到相应的构造器或者是无参构造器,容器就会自动选择byTpe的自动装配方式。
七、基于注解的自动装配
要使用 @Autowired
,需要注册
AutowiredAnnotationBeanPostProcessor
,可以有以下两种方式来实现:
1、引入配置文件中的<bean>下引入
<context:annotation-config>
2、在bean配置文件中直接引入AutowiredAnnotationBeanPostProcessor
Spring框架中使用AOP的优点
Aop与spring的IOC容器整合,增强,切入点都是javabean,可以在同一文件中配置
和spring的其他部分一样,可以在不同应用服务器之间任意移植
spring实现Aop的拦截接口,使得用户不必绑定在特定的拦截器接口上
some message from:
http://www.importnew.com/15851.html#spring_framework