0
我有一个非常基本的弹簧引导命令行应用程序,我试图从我的项目中存在的application.yml文件加载属性。该项目使用gradle构建,我使用groovy作为语言。无法加载Spring引导中的外部属性
现在,无论我放置application.yml文件,我似乎都无法将其值分配给配置属性bean。该文件如下
application.yml
my:
name: "some name"
servers:
- dev.bar.com
- foo.bar.com
Config.groovy中
import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.context.annotation.Configuration
@Configuration
@ConfigurationProperties(prefix = "my")
public class Config {
private List<String> servers = new ArrayList<String>();
private String name
public List<String> getServers() {
return this.servers;
}
public String getName() {
return this.name
}
}
Worker.groovy命令行亚军
@Component
class Worker implements CommandLineRunner {
@Autowired
Config config
@Override
public void run(String... args) throws Exception {
println "Running a test app"
println config.name
println config.getServers()
}
}
目录结构
app-name
-build.gradle
-src
-main
-groovy
-config
-application.yml
-com
-company
-app
Worker.groovy
Config.groovy
Application.groovy
我也试过application.yml重命名为application.properties还有com.company.app项目下增加了,但工人类的run方法始终打印属性为空。我相信我可能错过了一些非常基本的东西,但似乎无法找到它有什么。
让我知道我是否需要提供任何额外的细节。
工作正常!我希望这些文件更清晰。你为什么不把它作为答案而不是评论发布,我会接受它作为一个有效的答案?谢谢!! – bythe4mile