开发者社区> 问答> 正文

为什么我用spring注解读不到我配置文件里面的值??

//运用注解读取配置文件

@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"));
}
}

配置文件内容:

mongodbUrl

mongodb.url = 127.0.0.1

mongodbName

mongodb.name= xs@tt.cok

mongodbPassword

mongodb.password= 1245sdsh

time

time1 = 0/20 ?
time2 = 0/58 ?
test1输出:
mongodbUrl的值: null
mongodbName的值: null
mongodbPassword的值: null
test2方法直接报错,错误为:java.lang.NullPointerException,
就算是static String mongodbUrl属性去掉static也是一样的错误,求大神帮忙

展开
收起
小旋风柴进 2016-03-04 16:43:41 3182 0
1 条回答
写回答
取消 提交回答
  • @PropertySource({ "classpath:/info.properties" })
    改成
    @PropertySource({ "classpath:info.properties" })
    试试

    2019-07-17 18:52:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多