java注解@Configuration和@Value解读

491 阅读1分钟
@Configuration
public class XxlJobConfig {
    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;
}

以上代码来自xxl-job官方源码

@Value

@Value注解表示,spring将有特定类处理该属性值,具体的处理为,读取属性配置文件中对应属性的值赋值给该属性,属性配置文件分两种,一种是application.properties,spring启动时会自动加载,一种是自定义属性配置文件,自定义配置文件通过添加@PropertySource注解加载,此注解可以同时加载多个属性配置文件,也可以加载一个文件,多个属性配置文件中包括重复属性时,采用后面的属性定义(覆盖)

@Configuration

表明这个类内部声明了一个或多个方法,会被spring容器处理去生成bean定义和服务请求。

@Configuration注解包括@Target(ElementType.TYPE),@Retention(RetentionPolicy.RUNTIME),@Documented,@Component,表示该注解定义在class、interface或者枚举类上,作用在运行时,@Component表示该类本身是一个bean,spring会有特定类处理它,将其注册到spring的bean中心