java注解总结

388 阅读1分钟

spring boot

@Configration

作用在类上,声明当前类是一个配置类,相当于Spring中的一个XML文件。

@Bean

作用在方法上,声明当前方法的返回值是一个 Bean,方法名为 Bean 的名称,@Bean(name="className") 指定类名,Bean 默认为单例,可通过 @Scope(“prototype”) 设置。

@Configration 注解类中可以声明多个 @Bean 方法,并且 beanbean 之间是可以有依赖关系的。如果一个 bean 的定义依赖其他 bean,则直接调用对应的 JavaConfig 类中依赖 bean 的创建方法。

@Value

作用在属性上,将配置文件中 key 对应的值赋值给标注的属性。${key:default}, key 指定在配置文件中的路径,default 指定默认值。

@Value("${user.age:100}")

@ConfigurationProperties

作用在类上,将配置文件中相同前缀的所有属性赋值给当前类的属性。

作用在方法上,与 @Bean 注解搭配使用,将配置文件中相同前缀的所有属性赋值给当前方法返回的 Bean 的属性。

@Primary

作用在类上,解决容器依赖注入冲突,当一个接口、类有多个实现类时,使用容器加载实现类时容器不知道实现哪一个类,指定当前类为默认实现。

作用在方法上,与 @Bean 注解搭配使用,告诉容器当前方法返回的 bean 为默认实现。

@Qualifier

可以作用在属性、方法、方法参数、注解类类型上,解决容器依赖注入冲突,与primary不同的时,使用 @Qualifier 来指定一个具体的实现类。@Qualifier('className')

@Component、@Service、@Repository、@Controller

作用在类上,表示将类的实例注入到容器中。@Component 和 它的子类型(@Controller, @Service and @Repository)注释在类上。