spring基础

来源:互联网 发布:手绘图软件下载 编辑:程序博客网 时间:2024/05/21 13:59

1.IoC---Injection obejct controller
   常用注解:--在application.xml中的添加<context.annotation-config/>
   (1)@Autowired(自动装配)
         a)默认按类型by type
         b)如果要使用by Name,使用@Qulifier
         c)写在private field(第三种注入形式)--破坏封装性
         d)如果写在set上,@Qulifier需要写在参数上
          
  (2)@Resource
     a)默认按名称,名称找不到,按类型
     b)可以指定特定的名称
     
     
  (3)@Component,@Service,@Controller,@Repository
    a)初始化的名字默认为类名首字母小写
        b)可以指定初始化bean的名字
  (4)@Scope(Singleton,prototype)
  (5)@PostConstruct=init-method(类初始化后要执行的操作);@PreDestroy=destory-method(容器销毁之前要执行的操作)
       
2.AOP-面向切面编程Aspect-Oriented-Programming---横向编程
    (1)基础动态代理:
        a)jdk动态代理
            通过Proxy.newInstance(ClassLoader classLoader,Interfaces,InvokcationHandler),生成代理对象,代理对象实现了被代理对象的所有接口,因而代理对象包含被代理
            对象的所有方法,这些方法的执行是交给传入的第三个参数,也就是InokcationHandler的实现类来处理,在InvokcationHandler中,通过调用invoke方法来实现代理对
            实现的所有被代理对象的方法调用,在invoke方法首先要加入代理对象自身的业务逻辑,然后再调用传入的被代理对象实例的相关方法。这就是整个动态代理实现过程