我能想到的唯一方法是,在不进行上述尝试的情况下,从一个字符串中设置每个属性,遍历每个属性,并使用if-else或switch-case逻辑来确定调用哪一个dataSource设置器来设置值。
那么,有没有一种方法可以在不调用每个单独的setter的情况下从字符串中动态设置这些属性呢?
当我在setconnectionproperties
或setdbproperties
中设置用户名时,它确实发生了变化,但我认为这可能是针对用户名和密码的,因为我试图设置的其他属性没有效果。
编辑:为了澄清,数据源属性将从数据库加载,新的数据源可能会动态添加,因此使用应用程序属性将不起作用。
我假设您正在进行spring-boot项目。在那种情况下,
在spring-boot的application.properties文件中创建属性
spring.datasource.username=XXX
spring.datasource.password=XXX
spring.datasource.max-active=XXX
spring.datasource.min-idle=XXX
并创建配置文件以创建数据源,如下所示
@Configuration
public class DataSourceConfiguration {
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.driverClassName}")
private String driverClass;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.min-idle}")
private Long minIdle;
@Bean
@Primary
public DataSource dataSource() {
DataSource dataSource = new DataSource();
dataSource.setJdbcUrl(url);
dataSource.setDriverClassName(driverClass);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setMinimumIdle(minIdle);
return dataSource;
}
}
问题内容: 我正在尝试向angular js的控制器中的div动态添加属性。 一切看起来都很好,在调试器中,我看到该属性已添加,但它不执行我的功能。您是否有任何想法如何向现有div添加属性以及如何使其起作用? 问题答案: 您需要重新编译div http://jsfiddle.net/r2vb1ahy/
问题内容: 我有一个对象,它可以是任何数量的深度,并且可以具有任何现有属性。例如: 在此我想设置(或覆盖)属性,如下所示: 属性字符串可以具有任何深度,并且值可以是任何类型/事物。 如果属性键已经存在,则不需要合并对象和数组作为值。 前面的示例将产生以下对象: 如何实现这种功能? 问题答案: 此函数使用您指定的参数应添加/更新容器中的数据。请注意,您需要跟踪架构中的哪些元素是容器,哪些是值(字符串
我有一个对象,可以是任何数量的层次深,可以有任何现有的属性。例如: 在此基础上,我希望设置(或覆盖)如下属性: 属性字符串可以有任何深度,值可以是任何类型/事物。 如果属性键已经存在,则不需要合并作为值的对象和数组。 上一个示例将生成以下对象: 如何实现这样的功能?
cmf_set_dynamic_config($data) 功能 设置动态配置 参数 $data: array 要设置的数据,格式["cmf_default_theme"=>'simpleboot3'] 返回 boolean
本文向大家介绍使用变量动态设置js的属性名,包括了使用变量动态设置js的属性名的使用技巧和注意事项,需要的朋友参考一下 目标:js的属性名可以使用变量 举例:js对象object,当赋给该对象属性的时候可以采用以下方式 也可以采用如下方式: 在这里prop1 作为属性名称,可以直接用,也可以加上引号,比如: 表达的含义都是一样的,也就是说,prop1只能作为常量被识别,即使它是个变量也没用,例如:
本文向大家介绍VUE.js实现动态设置输入框disabled属性,包括了VUE.js实现动态设置输入框disabled属性的使用技巧和注意事项,需要的朋友参考一下 需求背景 页面从list列表展示,跳转到新增和修改的时候,新增和修改用的是同一个页面:add-or-update.vue。 修改的时候用户的账号不能修改,因此需要将账号的输入框属性设置为"只读"。 代码样例 dataForm.id初始值