Spring心得体会

**

1 给容器中注册组件的三种方式:**

	1 包扫描注解 service等等
	2 @Bean 导入第三方包里面的组件
	3 @Import
		快速导入组件,只需要将类的class文件写入
		@ImportSelector 
	可以实现此类,重写printBeans方法,此方法的返回值就是
	导入到容器中的组件全类名		
	@ImportBeanDefinitionRegistrar
	继承此类,实现registerBeanDefinitions方法
	该方法的两个成员变量:
	   AnnotationMetadata 返回所有已注册容器中的信息
	BeanDefinitionRegistry:BeanDefinition注册类

2 bean的生命周期

  1. 指定初始化和销毁方法

     通过@Bean注解指定init-method和destroy-method(初始化跟销毁方法是自己创建在要加入容器类中的内部)
     
     构造方法(对象创建)
         单实例:在容器启动(而不是容器创建时)的时候创建对象
         多实例:在每次获取的时候创建对象
     初始化:构造方法完成后,调用初始化方法(单例)
     销毁:当容器关闭时销毁(单例)
     多实例初始化是获取对象时初始化,销毁方法不会被容器主动调用
    
  2. 通过让bean实现InitializingBean(定义初始化逻辑)和DisposableBean(定义销毁逻辑)

  3. 使用JSR250 之后的注解(这两个注解都是方法级的)
    @PostConstruct:在Bean创建完成并且属性赋值完成,来执行初始化
    @PreDestroy:在容器销毁bean之前,通知我们进行清理工作

  4. 实现BeanPostProcessor接口:bean的后置处理器(实现完成后需要将其加入到容器中)

    在bean初始化前后做某些处理
    
    postProcessBeforeInitialization 在任意初始化(包括自定义的种种)之前做某些事情
    postProcessAfterInitialization 	在任意初始化(包括自定义的种种)之后做某些事情
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值