spring基础

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)可以指定特定的名称
     spring基础_第1张图片
     spring基础_第2张图片
  (3)@Component,@Service,@Controller,@Repository
    a)初始化的名字默认为类名首字母小写
        b)可以指定初始化bean的名字
  (4)@Scope(Singleton,prototype)
  (5)@PostConstruct=init-method(类初始化后要执行的操作);@PreDestroy=destory-method(容器销毁之前要执行的操作)
       spring基础_第3张图片
2.AOP-面向切面编程Aspect-Oriented-Programming---横向编程
    (1)基础动态代理:
        a)jdk动态代理
            通过Proxy.newInstance(ClassLoader classLoader,Interfaces,InvokcationHandler),生成代理对象,代理对象实现了被代理对象的所有接口,因而代理对象包含被代理
            对象的所有方法,这些方法的执行是交给传入的第三个参数,也就是InokcationHandler的实现类来处理,在InvokcationHandler中,通过调用invoke方法来实现代理对
            实现的所有被代理对象的方法调用,在invoke方法首先要加入代理对象自身的业务逻辑,然后再调用传入的被代理对象实例的相关方法。这就是整个动态代理实现过程
           spring基础_第4张图片
spring基础_第5张图片
     

你可能感兴趣的:(spring,编程,ClassLoader,prototype,service,Autowired)