Kri*_*has 7 java spring yaml spring-boot
配置类,
@Configuration
public class SpringContext {
@Bean
public BlockingQueue<String> queue(@Value("${queue.size}") int queueSize) {
return new LinkedBlockingQueue<>();
}
}
Run Code Online (Sandbox Code Playgroud)
主要班级,
@SpringBootApplication
public class SpringContextTest {
public static void main(String[] args) {
final SpringApplication springApplication = new SpringApplication(SpringContext.class);
springApplication.setWebEnvironment(false);
springApplication.run();
System.out.println("queue.size" + System.getProperty("queue.size"));
}
}
Run Code Online (Sandbox Code Playgroud)
application.yml,
queue.size: 10
Run Code Online (Sandbox Code Playgroud)
在启动主类时,我收到以下错误,
Caused by: java.lang.NumberFormatException: For input string: "${queue.size}"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.8.0_144]
Run Code Online (Sandbox Code Playgroud)
我是否缺少一些注释?在我的理解中,我使用了Spring启动应用程序所需的最小注释.我看过一些类似的帖子,但没有帮助.还尝试使用--spring.config.location.
我的Spring入门版:1.3.6.RELEASE
Spring Boot 文档的外部化配置部分解释了您可能需要的所有详细信息。
根据您在主类中加载属性的示例,您可以执行以下操作,
内容应类似于以下示例,
应用程序:
值1:12
value2: 字符串值
示例代码,
包 com.demo;
导入 org.springframework.boot.SpringApplication;
导入 org.springframework.boot.autoconfigure.SpringBootApplication;
导入 org.springframework.core.env.Environment;
@SpringBootApplication
公开课应用程序{
public static void main( String[] args ){
SpringApplication app = new SpringApplication(App.class);
Environment env = app.run(args).getEnvironment();
String value1 = env.getProperty("app.value1");
String value2 = env.getProperty("app.value2");
System.out.println("---------------- "+value1);
System.out.println("---------------- "+value2);
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
5700 次 |
| 最近记录: |