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方法首先要加入代理对象自身的业务逻辑,然后再调用传入的被代理对象实例的相关方法。这就是整个动态代理实现过程
spring基础
最新推荐文章于 2025-09-10 16:19:25 发布
