spring是一个轻量级的企业级开发框架,核心是
制反转(IOC)和面向切面(AOP)。
控制反转(IOC)利用JAVA反射机制,反射机制是指在运行状态中,对于任意一个类,能够知道对于这个类的所有属性和方法;对于任意一个对象,能够调用这个对象的所有属性和方法。控制反转是指原本被调用者的实例是由调用者创建,但是耦合性太强;现在则统一将对象交给Spring容器创建管理。你只需要在spring配置文件中配置相应bean并设置好属性,spring容器启动时会初始化好你配置的bean,在你调用时分配给你需要的bean的类,
bean的生命周期:通过xml配置的bean和java的BeanDefinitionBuilder中读取bean的定义,实例化Bean对象,对bean设置属性,进行Aware依赖注入,
执行通用的方法前置处理,方法: BeanPostProcessor.postProcessorBeforeInitialization()
执行 InitalizingBean.afterPropertiesSet() 方法
执行Bean自定义的初始化方法init,或者 @PostConstruct 标注的方法;
执行destory()方法,或者@destory注解标注的方法,对象销毁完毕
bean的作用范围:
singleton 单例
prototype 每次注入都是一个新的对象
request 每次请求创建一个对象
seeeion 每次回话创建一个对象
global session web容器全局对象
面向切面(AOP)
为了j