我一直有问题,让我的属性加载在一个春季引导应用程序。我做了一个非常简单的版本,但还是失败了。我一直在考虑其他的问题,从网站上,只是没有能够找到它。
application.properties在主/java/资源中
rim.dbuser=RIM_API_USER
rim.dbpassword=rimpassword
rim.dbconnection=jdbc:oracle:thin:@kuga.myrim.com:1515:dev179
rim.dbdriver=oracle.jdbc.driver.OracleDriver属性的简单类
@ConfigurationProperties(prefix = "rim")
public class RIMProperties {
private String driver;
private String dbURL;
private String user;
private String password;
<getters and setters>我的对象使用RIMproperties
@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());
}
}还有我的应用程序课
@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());
}
}我每件事都是无效的。不知道为什么它没有捡到这些房产。
发布于 2018-08-21 19:03:14
我认为问题在于您的变量名,更改它们以匹配您的道具文件。
private String driver; to private String dbdriver;你知道这个主意..。
发布于 2018-08-21 22:54:35
我想,你已经发布了正确的代码。
正如在其他答案中提到的,您的java字段名与属性字段不同。
Spring自动配置
此外,当您使用spring-boot时,是否有理由不使用spring的开箱即用自动配置功能?
在您的示例中,您正在java类中映射数据源属性。您只需在属性中使用spring的标准数据源字段,它将自动创建一个datasource,甚至JdbcTemplate实例,您可以在应用程序中的任何地方自动创建该实例。
https://stackoverflow.com/questions/51954924
复制相似问题