我在application.properties
文件中定义了以下属性。
sample.db.serverName=10.10.10.10
sample.db.serverPort=1234
sample.db.databaseName=sampleDb
现在我使用DataSourceBuilder,但我需要使用所有可用信息构建url,因为它只有url参数。
我不知道如何将属性读入POJO并在DataSource类中获取句柄
public DataSource dataSource()
{
//handle for POJO
//StringBuilder to build the url
return DataSourceBuilder.create.url(str.toString()).build();
}
附言:我提到了这个链接,但它与我的问题不同。
使用@Bean
注释您的方法,并使用@Value
注释将属性传递给它:
@Value("${sample.db.serverName}") private String serverName;
// .. repeat for other properties ...
@Bean public DataSource dataSource() {
String url = // build URL from serverName field and other fields
// create DataSource instance and return it
}
您还可以对方法参数使用注释,而不仅仅是字段,但如果您从代码中调用您的dataSource()
方法,它就会变得复杂起来。
您可以创建配置属性类(简单POJO):
@ConfigurationProperties(prefix = "sample.db")
public class DbProperties {
private String serverName;
private String serverPort;
private String databaseName;
// getters and setters
}
之后,您可以告诉Spring创建此类的实例,并从属性文件中填充属性:
@EnableConfigurationProperties(value = DbProperties.class)
最后,您可以将它们自动连接到创建数据源的方法中:
@Configuration
@EnableConfigurationProperties(value = DbProperties.class)
public class DatasourceConfig {
@Bean
public DataSource dataSource(final DbProperties properties) {
// do whatever you need
return DataSourceBuilder.create.url(str.toString()).build();
}
}
我知道在DispatcherServlet之外使用请求范围bean需要一些配置,并且已经阅读了http://docs.spring.io/spring/docs/4.0.x/spring-framework-reference/html/beans.html#beans-factory-scopes-oth,但是还没有成功: 对于Servlet3.0+,这可以通过WebApplicationIni
问题内容: 我正在尝试使用Maven 3 在Spring Boot应用程序中设置活动配置文件。在我的pom.xml中,将默认的活动配置文件和属性spring.profiles.active设置 为development: 但是每次我运行应用程序时,都会在日志中收到以下消息: 并且将SpringBoot配置文件设置为默认值(读取application.properties而不是application
4.1 根据条件的自动配置 @conditional是基于条件的自动配置,一般配合Condition接口一起使用,只有接口实现类返回true,才装配,否则不装配. 用实现了Condition接口的类传入@Conditional中 @Conditional可以标记在配置类的方法中,也可以标记在配置类上.标记的位置不同,作用域不同. @Conditional可以传入多个实现了condition接口的类
我在学习Spring Boot时遇到了一些编码问题;我想添加一个像Spring3.x那样的CharacterEncodingFilter。就像这样:
配置中心(v2.7.0)在Dubbo中承担两个职责: 外部化配置。启动配置的集中式存储 (简单理解为dubbo.properties的外部化存储)。 服务治理。服务治理规则的存储与通知。 启用动态配置(以Zookeeper为例,可查看动态配置配置项详解): <dubbo:config-center address="zookeeper://127.0.0.1:2181"/> 或者 dubbo.c
cmf_set_dynamic_config($data) 功能 设置动态配置 参数 $data: array 要设置的数据,格式["cmf_default_theme"=>'simpleboot3'] 返回 boolean