application.yml文件无法书写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了application.yml文件无法书写?相关的知识,希望对你有一定的参考价值。
创建完之后就是这样的,也无法写,上面的标题上也没有“application”这几个字
这里有很多临时的缓存。这不是真正的目录<br><br>xxx应用程序数据是应用程序数据和应用程序数据的含义。此文件夹存储某些软件的msi安装文件,通常不需要删除这些文件,因为一些软件运行时将需要这样做。如果你真的需要删除它,那也没关系,因为里面的数据一般都是不可用的,它只是一个自动备份,但是如果软件有麻烦,你必须修复它,这是不可能的。在删除它之前,建议做一个备份。如果有问题,可以随时恢复。br>xxx定位信息数据是访问网络时生成的一些数据。<br>游戏的个人设定和个人电脑的一般设定在删除后会被删除,因此不建议删除。有些程序正在调用这些程序,因此它们不能被删除。 参考技术A application.yml 和 application.properties 二选一spring boot 无法从 application.yml 获取配置
【中文标题】spring boot 无法从 application.yml 获取配置【英文标题】:spring boot can not get configuration from application.yml 【发布时间】:2019-05-19 10:45:13 【问题描述】:我的 Spring Boot 应用程序无法从 application.yml 文件中获取配置参数。我的主要课程如下:
@SpringBootApplication(scanBasePackages="com.test")
public class Main
@Bean
public Validator validator()
return new org.springframework.validation.beanvalidation.CustomValidatorBean();
public static void main(String[] args) throws IOException
new SpringApplicationBuilder(Main.class)
.properties("application.yml")
.build()
.run(args);
我的控制器类如下:
@RestController
@RequestMapping("/test_traffic")
@Component
public class AnycastTrafficController
@Autowired
TestService testService;
@GetMapping("/test")
public Object component()
return testService.getTraffic();
我的服务类如下:
@Service
public class TestService
@Autowired
TestDao testDao;
public Object getTraffic()
testDao.getTraff();
我的道类如下:
@Component
public class TestDao
@Autowired
MyDBConfig mydbConfig;
public DB getMyDBConfig ()
DB db = new DB(mydbConfig.id, mydbConfig.key);
return db;
我的配置类如下:
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "mydb")
public class MyDBConfig
public String id;
public String key;
public String getId()
return id;
public void setId(String id)
this.id = id;
public String getKey()
return key;
public void setKey(String key)
this.key = key;
我的 application.yml(位于 /src/main/resources)如下:
server:
port: 8003
context-path: /
logging:
level:
ROOT: INFO
org.springframework: INFO
org.springframework.data: INFO
com.alibaba: INFO
file: log/
docserver:
accessKeyId: 1111
accessKeySecret: 2222
---
spring:
profiles: dev
application:
name: test-application
mydb:
id: 1111111
key: 2222222
但是当我启动 Main 类并请求 url 时,它抛出了如下异常:
the id should not be empty.
这意味着我的配置类没有从 yml 文件中获取配置数据,所以请问我哪里做错了。 p.s(但应用程序可以找到服务器端口 8003)。谢谢!
【问题讨论】:
application.yml
文件在哪里?如果它在资源目录(src/main/resources)中,spring boot 应该会自动找到它,而不必指定它。
是的,它位于/src/main/resources,可以找到服务器8003端口,但是无法读取mydb数据。
当我评论你在应用程序中的所有内容并且我只保留 mydb 和子属性时它可以工作!
您是否在设置活动配置文件?如果没有,Spring 将不会默认为 dev
并将忽略该部分 ***.com/questions/37700352/…
【参考方案1】:
您的 application.yml 包含无效的属性选项。
代替
spring:
profiles: dev
你应该使用
spring:
profiles:
active: dev
更正此问题后,配置处理器应该可以正常工作。
【讨论】:
另外 server.context-path 已被标记为已弃用,请改用 server.servlet.context-path。以上是关于application.yml文件无法书写?的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot中.yml和.application的区别以及.yml和.properties配置在线转换
无法从 Java Spring Boot 项目中的 application.yml 文件中读取用户定义类的列表
spring boot 无法从 application.yml 获取配置
无法从 Spring Boot 应用程序中的自定义 yml 文件加载配置