您的位置:首页 > 编程语言 > Java开发

spring boot Configuration Annotation Proessor not found in classpath

2017-08-13 22:43 549 查看


@ConfigurationProperties(prefix=”author”) 没有指定classpath时,IDEA提示没有找到classpath。

在浏览器中访问的结果是null 0是由于在没指定路劲的情况下,默认在resource下的applications.properties中查找,如果找到则返回值,如果没有找到则返回默认值null/0/false…

分析

出现spring boot Configuration Annotation Proessor not found in classpath的提示是在用了@ConfigurationProperties这个注解时,所以问题出现在ConfigurationProperties注解。

根据提示的not found in classpath,查询此注解的使用关于怎么指定classpath,进而查询location,spring boot1.5以上版本@ConfigurationProperties取消location注解

解决方案:

在配置类中采用@Component的方式注册为组件,然后使用@PropertySource来指定自定义的资源目录.(本人测试用@Service代替@Component也可以的)

有以下三种解决方案:

第一种:在resource中创建author.properties,并指明@PropertySource(“author.properties”) ,即默认在resource下找此文件,找到返回一个值,找不到则报错,报文件找不到,打不开。



第二种: 在resource下创建config文件夹,把author.properties放在config下,访问方式为:@PropertySource(“classpath:config/book.properties”)



第三种: 直接写在application.properties中(不建议这么做,但如果时全局变量提倡这种方法),当写在此文件中时,不需要指明资源文件路劲,只需要指明前缀即可。如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring
相关文章推荐