Spring学习笔记-XML与注解的配置对照 边学边整理的一个对照表

  • 初始化Bean时的执行方法——@PostConstruct

    对应的XML使用方法为 <bean init-method =>

  • 销毁Bean时的执行方法——@PreDestroy

    对应的XML使用方法为 <bean destory-method =>

  • 定义Bean的作用域——@Scope

    对应的XML使用方法为 <scope =>,常用可选值有 singleton(默认,单例)、prototype(表示每次都创建新的)、session(session周期内唯一)、request(HTTP请求内唯一)

  • 设置自动装配的唯一依赖——@Qualifier

    等价于XML中的 <qualifier value =>

  • Spring配置——@Configuration

    等价于XML中的 <beans>

  • 声明Bean——@Bean

    等价于XML中的 <bean>。
    被@Bean标注过的声明方法,如果其他Bean的声明方法中引用这个方法,Spring会拦截该方法的调用,并尝试在应用上下文中查找该Bean,而不是直接调用该方法并创建一个新的实例。当然,如果Bean的scope不是 singleton 时除外。

  • 切面,声明环绕通知——@Around

    被注解的方法参数必须接受一个ProceedingJoinPoint对象,执行切点的原方法是调用该对象的proceed()方法

  • 拓展Bean——@DeclareParents

    等价于XML中的<aop:declare-parents>,在不修改源码的情况下拓展已有Bean。
    value 属性表示被拓展的Bean的类型
    defaultImpl 属性表示所引入接口的实现
    该注解所标注的 static 属性指定了将被引入的接口