Spring实用技巧(一)

获取Spring容器对象

  1. 实现BeanFactoryAware接口,重写setBeanFactory方法,从中可获取到Spring容器对象。
  2. 实现ApplicationContextAware接口,重写setApplicationContext方法也可以获取到Spring容器对象。
  3. 实现ApplicationListener接口,接口泛型为ContextRefreshedEvent类,重写onApplicationEvent方法获取Spring容器对象。
    功能强大的Aware接口

初始化Bean
Spring提供了3种初始化Bean的方法

  1. xml中指定init-method方法
  2. 使用@PostConstruct方法
  3. 实现InitializingBean接口,重写afterPropertiesSet方法完成初始化功能

自定义Scope
Spring默认支持的Scope有两种:singleton、prototype
Spring Web对Scope进行了扩展,增加了:

  • RequestScope:同一次请求从Spring容器中获取的bean都是同一个对象。
  • SessionScope:同一个会话从Spring容器中获取的bean是同一个对象。
    自定义Scope需要实现Scope接口,然后将自定义的Scope注入到Spring容器中

FactoryBean和BeanFactory

  • BeanFactory:Spring容器的顶级接口,管理bean的工厂。
  • FactoryBean:并非普通的工厂bean,隐藏了实例化一些复杂Bean的细节。
    通过实现FactoryBean接口可以自定义FactoryBean

自定义类型转换
Spring目前支持3种类型转换器:

  • Converter<S,T>:将S类型对象转为T类型对象
  • ConverterFactory<S,R>:将S类型对象转为R类型对象及子类对象
  • GenericConverter:支持多个source和目标类型的转化,同时提供了source和目标类型的上下文,通过上下文可以实现基于属性上的注解或信息来进行类型转换。

来源:spring中这些能升华代码的技巧,可能会让你爱不释手

posted @ 2021-01-23 17:26  Abserver  阅读(117)  评论(0)    收藏  举报