Spring IOC和 Spring AOP知识点

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(具体的类(返回值)的具体的方法)")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值