Spring @Required注解
@Required 注释使用在Bean属性中的setter方法,表示该属性必须要在xml文件中进行配置,否则会抛出一个 BeanInitializationException 异常
Spring @Autowired注解
@Autowired 注释可以在 setter 方法中被用于自动连接 bean,一个属性或者任意命名的可能带有多个参数的方法,使用@Autowired注解不用在xml文件中配置。会自动执行byType自动连接。
@Autowired 的(required=false)选项,类似于@Required注解,可以使用 @Autowired 的 (required=false) 选项关闭默认行为。默认是true,需要进行初始化赋值(xml文件中配置)。
Spring @Qualifier 注释
@Qualifier注解,使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱。
@Autowired和@Qualifier混合使用
xml文件中的配置,@Qualifier主要是用来选择xml中的Bean,用来指定特定的Bean,达到准确赋值。
@PostConstruct 和 @PreDestroy 注释:
@PostConstruct用于方法前,表示此方法为初始化方法,实例化该Bean时,首先调用该方法
@PreDestroy用于销毁方法前,表示该方法为销毁方法。
@Resource 注释
@Resource的作用相当于@Autowired,只不过@Autowired按照byType自动注入,@Resource默认按照byName自动注入,有两个重要属性:name和type。Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用那么属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略,如果既不指定name也不指定type属性,这是将通过反射机制使用byName自动注入。@Resource并不是Spring的注解是J2EE的,它的包是javax.annotation.Resource。
基于 Java 的配置
@Configuration 和 @Bean 注解
带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。
@Configuration注解用于类上面,@Bean用于方法上。
@Import 注解
@import 注解允许从另一个配置类中加载 @Bean 定义。