//运用注解读取配置文件
@Component
@ComponentScan
@Configuration
@PropertySource({ "classpath:/info.properties" })
public class PropertiesResolve {
private static Logger logger = Logger.getLogger(PropertiesResolve.class.getName());
//把配置文件的属性值直接注解到类的属性里面
@Value("${mongodb.url}") //url
static String mongodbUrl;
@Value("${mongodb.name}") //name
static String mongodbName;
@Value("${mongodb.password}") //password
static String mongodbPassword;
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
return new PropertySourcesPlaceholderConfigurer();
}
@Scheduled(cron = "${time1}")
public static void test1(){
logger.info("1111111111111111111111111");
System.out.println("mongodbUrl的值: "+mongodbUrl);
System.out.println("mongodbName的值: "+mongodbName);
System.out.println("mongodbPassword的值: "+mongodbPassword);
}
//*************************************************************************************
@Autowired
private static Environment env;
@Scheduled(cron = "${time2}")
public static void test2(){
logger.info("2222222222222222222222");
System.out.println(env.getProperty("mongodb.url"));
System.out.println(env.getProperty("mongodb.name"));
System.out.println(env.getProperty("mongodb.password"));
}
}
配置文件内容:
mongodb.url = 127.0.0.1
mongodb.name= xs@tt.cok
mongodb.password= 1245sdsh
time1 = 0/20 ?
time2 = 0/58 ?
test1输出:
mongodbUrl的值: null
mongodbName的值: null
mongodbPassword的值: null
test2方法直接报错,错误为:java.lang.NullPointerException,
就算是static String mongodbUrl属性去掉static也是一样的错误,求大神帮忙
@PropertySource({ "classpath:/info.properties" })
改成
@PropertySource({ "classpath:info.properties" })
试试
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。