首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Boot ConfigurationProperties问题

Spring Boot ConfigurationProperties问题
EN

Stack Overflow用户
提问于 2018-08-21 18:46:50
回答 2查看 89关注 0票数 0

我一直有问题,让我的属性加载在一个春季引导应用程序。我做了一个非常简单的版本,但还是失败了。我一直在考虑其他的问题,从网站上,只是没有能够找到它。

application.properties在主/java/资源中

代码语言:javascript
复制
rim.dbuser=RIM_API_USER
rim.dbpassword=rimpassword
rim.dbconnection=jdbc:oracle:thin:@kuga.myrim.com:1515:dev179
rim.dbdriver=oracle.jdbc.driver.OracleDriver

属性的简单类

代码语言:javascript
复制
@ConfigurationProperties(prefix = "rim")
public class RIMProperties {

private  String driver;
private  String dbURL;
private  String user;
private  String password;

<getters and setters>

我的对象使用RIMproperties

代码语言:javascript
复制
@Component
public class RIMObject {

@Autowired
private RIMProperties rimProperties;

public void print(){
    System.out.println("dbuser = "+rimProperties.getUser());
    System.out.println("password = "+rimProperties.getPassword());
    System.out.println("driver = "+ rimProperties.getDriver());
    System.out.println("DBURL = "+rimProperties.getDbURL());
}


}

还有我的应用程序课

代码语言:javascript
复制
@SpringBootApplication
@EnableConfigurationProperties(RIMProperties.class)
public class App {
public static void main(String[] args)
{
    ApplicationContext context = SpringApplication.run(App.class, args);

    RIMObject rimObject = context.getBean(RIMObject.class);
    rimObject.print();

    RIMProperties prop = context.getBean(RIMProperties.class);
    System.out.println(prop.getDriver());
    System.out.println(prop.getDbURL());
}
}

我每件事都是无效的。不知道为什么它没有捡到这些房产。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-21 19:03:14

我认为问题在于您的变量名,更改它们以匹配您的道具文件。

private String driver; to private String dbdriver;你知道这个主意..。

票数 2
EN

Stack Overflow用户

发布于 2018-08-21 22:54:35

我想,你已经发布了正确的代码。

正如在其他答案中提到的,您的java字段名与属性字段不同。

有关更多信息,请查看https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-typesafe-configuration-properties

Spring自动配置

此外,当您使用spring-boot时,是否有理由不使用spring的开箱即用自动配置功能?

在您的示例中,您正在java类中映射数据源属性。您只需在属性中使用spring的标准数据源字段,它将自动创建一个datasource,甚至JdbcTemplate实例,您可以在应用程序中的任何地方自动创建该实例。

请看一下更多的https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-connect-to-production-database

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51954924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档