我一直在做一个springboot项目,其中需要使用application.yml
进行配置
<code>应用程序。位于目录src/main/resources
下的yml文件。
这是文件的内容:
spring:
main:
banner-mode: off
application:
name: XX
datasource:
username: admin
password: 1234
driverClassName: XXXX
url: XXXX
在配置类中,我为每个字段都有变量。
@Component
@ConfigurationProperties
public class GlobalConfig {
private String name;
private String username;
private String password;
private String driverClassName;
private String url;
// getters&setters
这是跑步者文件:
@SpringBootApplication
@Configuration
@PropertySource("application.yml")
@EnableConfigurationProperties
public class Application implements CommandLineRunner {
private GlobalConfig globalConfig;
@Autowired
public void setGlobalConfig(GlobalConfig globalConfig) {
this.globalConfig = globalConfig;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... args) {
System.out.println(globalConfig);
}
尽管应用程序用户名
字段中的所有其他变量都是正确的,但其中包含一些与操作系统用户相关的内容。
应为toString-
Actualt toString-
PS:字母X
并不意味着它为空。它们已经被填充了!
我已经检查了一些类似的问题,但没有这个案例的答案。
任何帮助都将不胜感激。提前谢谢。
如果没有从yaml文件中填充数据,就不应该打印对象。
您可以使用“Setter”或“构造”注入。(您需要将所有数据填充到POJO,对吗?)
对于Ex (Setter注射)
@PropertySource("classpath:application.properties")
@Component
public class GlobalConfig {
private String name;
@Autowired
public void setName(@Value("${user.name}") String name) {
this.name=name;
}
//getter
}
应用属性:-
user.name= 约翰逊
然后自动连接 GlobalConfig n print object System.out.println(globalConfig);
我发现其他人也有同样的问题,他们的问题通过在InputStreamReader构造函数中指定UTF-8来解决: 以UTF-8形式读取InputStream 这对我不起作用,我也不知道为什么。无论我尝试什么,我总是得到转义的unicode值(斜杠-U+十六进制),而不是实际的语言字符。我在这里做错了什么?提前道谢! 请注意:这不是字体问题。我之所以知道这一点,是因为如果我对同一个文件使用Resour
这意味着我的配置类没有从yml文件中获得配置数据,所以请告诉我哪里做错了。P.S(但是服务器端口8003可以通过应用程序找到)。谢了!
问题内容: 为了简单起见,假设我要创建一个简单的待办事项应用程序。我的xcdatamodel中有一个实体Todo,其属性为,和和以下swiftui视图(如图所示): 待办事项在获取时按日期排序,并显示在这样的列表中: 我想基于每个待办事项各自的日期将列表分组(样机): 据我了解,这可以与该函数中的Dictionary一起使用,但是我无法提出任何对远程有用的东西。有一种有效的数据分组方法吗? 问题答
问题内容: 从Python标准库的组件中获取异常消息的最佳方法是什么? 我注意到在某些情况下,您可以通过如下字段获取它: 但在某些情况下(例如在套接字错误的情况下),您必须执行以下操作: 我想知道是否有标准方法可以涵盖大多数情况? 问题答案: 如果查看内置错误的文档,则会看到大多数类将其第一个参数分配为属性。并非所有人都这样做。 值得注意的是,(与子类和)具有的第一自变量,第二的。没有…大致类似于
问题内容: 我有用于在Java中创建线程的此类 控制台显示以下文本作为输出 我的代码创建了新线程: 我的问题是:为什么返回正确的线程名却返回另一个? 问题答案: 为什么要返回正确的线程名称而又返回其他? 您的课程,但随后您通过调用以下内容开始: 这是不正确的。这意味着创建的线程实际是 不 一样的。 应该实现而 不是 扩展线程。您的代码可以工作,因为线程也是可运行的。 因为有两个线程对象,所以当您调
问题内容: 说我有以下代码: 现在,如果抛出,我该如何捕捉?一种方法是提供自己的实现,并为其中的设置custom 。另一种方法是将其包装为包含try-catch -block 的本地(匿名)。也许还有其他类似的解决方法。但是…以某种方式感觉很脏,我觉得这不应该那么复杂。有没有干净的解决方案? 问题答案: 干净的解决方法是使用而不是。这将返回一个,您可以用来检索结果或任务异常: