对spring的一些知识点记录

IOC

控制反转, 以前创建对象是自己手动创建,现在交给spring容器帮我们创建对象

DI

就是依赖注入应用程序在运行时依赖IOC 容器来动态注入对象需要的外部资源

AOP

是通过代理的方式实现切面编程,不会去修改字节码,而是每次在内存中运行时临时为方法生成一个AOP对象

spring的生命周期:

1)实例化:

实例化一个bean,也就是new。然后,按照spring上下文对实例化的bean进行配置,也就是IOC注入

2)初始化:

如果bean实现了以下这些接口:

BeanNameAware(setBeanName(String beanId)),

BeanFactoryAware(setBeanFactory()),

ApplicationContextAware(setApplicationContext(ApplicationContext)),

BeanPostProcessor(postProcessBeforeInitialization(Object obj, String s)),

可以进行初始化bean。 也可以采用spring配置文件的方式:init-method="init"进行初始化。

3)销毁:

①如果实现了DisposableBean(destory)方法,则在此方法中进行销毁操作。

②可以在spring配置文件中配置destory-method="destory"进行销毁操作。

自动装配: 注解@Autowired和@Resource的区别

    1 @Autowired默认按byType自动装配,@Resource默认byName自动装配。 2.@Autowired只包含一个参数:required,表示是否开启自动准入,默认是true。@Resource包含七个参数,其中最重要的两个参数是:name 和 type。 3.@Autowired如果要使用byName,需要使用@Qualifier一起配合。@Resource如果指定了name,则用byName自动装配,如果指定了type,则用byType自动装配。 4.@Autowired能够用在:构造器、方法、参数、成员变量和注解上,而@Resource能用在:类、成员变量和方法上。 5.@Autowired是spring定义的注解,而@Resource是JSR-250定义的注解。
经验分享 程序员 微信小程序 职场和发展