Spring IOC:实例化具体bean,动态装配
1、Spring自动装配:autowire ="byName" 或"byType" ,byName就是指根据要装入的bean的名称和调用bean里面属性名相同的自动装配,byType是根据要装入的bean的类型来找,但类型相同的bean不能重复,否则包异常。
2、在<beans 里面配置default-autowire = "">则这里面的所有bean都自动装配
3、Spring中bean的lazy-init="true" 则在配置文件初始化时这个bean不进行初始化,默认为false,只有在系统里面bean特别多,造成系统启动时特别慢时才会用.
4、Spring的生命范围:singleton单例(默认)每次取同一个对象,proptotype 每次创建新的对象,和web相关的
5、Spring的生命周期:和servlet差不多,初始化相同的bean只init一次,结束destroy,在bean中使用init-ethod="inti" destroy-method="destroy",不能和proptotype 一块用,否则发生未知情况。
6、@Autowired
要使用@Autowired,要在配置文件<beans>中写<context:annotation-config />
a>默认按类型 by type
b>如果想用byName,使用@Qulifier
c>写在private field(属性注入)(不建议,破坏封装)
d>如果写在set上,@Qulifier需要写在参数上
7、@Resource(name="userDAO")
加入:j2ee/common-annotations.jar
a>默认使用byName,找不到时再按byType
b>如果想用byName,@Resource(name="注入名称")
c>不足:
8、@Component 自动扫描
要在配置文件<beans>中写<context:component-scan base-package="org.doucun.web"/>
在Bean 上面加@Component("userDAO")
9、不在配置文件中设置初始化和销毁
在bean内方法上面@PostConstruct 相对于 init-method;
@PreDestroy 相对于 destroy-method;
Spring AOP: 动态代理
使用AOP:
使用aspectj
在XML配置文件中添加<aop:aspectj-autoporxy/>,
加jar包,
在切面类上加@Aspect 是其变为切面类
在切面方面上加@Before/After(finally())/AfterThrowing(catch())("execution(具体的类(返回值)的具体的方法)")
1、Spring自动装配:autowire ="byName" 或"byType" ,byName就是指根据要装入的bean的名称和调用bean里面属性名相同的自动装配,byType是根据要装入的bean的类型来找,但类型相同的bean不能重复,否则包异常。
2、在<beans 里面配置default-autowire = "">则这里面的所有bean都自动装配
3、Spring中bean的lazy-init="true" 则在配置文件初始化时这个bean不进行初始化,默认为false,只有在系统里面bean特别多,造成系统启动时特别慢时才会用.
4、Spring的生命范围:singleton单例(默认)每次取同一个对象,proptotype 每次创建新的对象,和web相关的
5、Spring的生命周期:和servlet差不多,初始化相同的bean只init一次,结束destroy,在bean中使用init-ethod="inti" destroy-method="destroy",不能和proptotype 一块用,否则发生未知情况。
6、@Autowired
要使用@Autowired,要在配置文件<beans>中写<context:annotation-config />
a>默认按类型 by type
b>如果想用byName,使用@Qulifier
c>写在private field(属性注入)(不建议,破坏封装)
d>如果写在set上,@Qulifier需要写在参数上
7、@Resource(name="userDAO")
加入:j2ee/common-annotations.jar
a>默认使用byName,找不到时再按byType
b>如果想用byName,@Resource(name="注入名称")
c>不足:
8、@Component 自动扫描
要在配置文件<beans>中写<context:component-scan base-package="org.doucun.web"/>
在Bean 上面加@Component("userDAO")
9、不在配置文件中设置初始化和销毁
在bean内方法上面@PostConstruct 相对于 init-method;
@PreDestroy 相对于 destroy-method;
Spring AOP: 动态代理
使用AOP:
使用aspectj
在XML配置文件中添加<aop:aspectj-autoporxy/>,
加jar包,
在切面类上加@Aspect 是其变为切面类
在切面方面上加@Before/After(finally())/AfterThrowing(catch())("execution(具体的类(返回值)的具体的方法)")