当前位置: 首页 > 面试题库 >

在Spring Boot中以编程方式配置DataSource

赵俊侠
2023-03-14
问题内容

使用Spring Boot我可以JdbcTemplate用以下方法实例化一个:

码:

@Autowired
private JdbcTemplate jdbcTemplate;

特性:

spring.datasource.url=jdbc:postgresql://my_url:my_port/my_other_stuff
spring.datasource.username=my_user_name
spring.datasource.password=my_password
spring.datasource.driver-class-name=org.postgresql.Driver

这将创建一个数据源类: org.apache.tomcat.jdbc.pool.DataSource

如何以编程方式设置DataSource用户名/密码?

我们有一项政策,不要以纯文本形式存储凭据,我必须在工作的地方使用特定的凭据提供程序。


问题答案:

您可以使用DataSourceBuilder,如果你使用的是jdbc首发。另外,为了覆盖默认的自动配置Bean,您需要将Bean标记为@Primary

就我而言,我具有以datasource.postgresprefix 开头的属性。

例如

@ConfigurationProperties(prefix = "datasource.postgres")
@Bean
@Primary
public DataSource dataSource() {
    return DataSourceBuilder
        .create()
        .build();
}

如果对您不可行,则可以使用

@Bean
@Primary
public DataSource dataSource() {
    return DataSourceBuilder
        .create()
        .username("")
        .password("")
        .url("")
        .driverClassName("")
        .build();
}


 类似资料:
  • 代码: 属性: 这将创建一个类为的数据源

  • 我需要为SpringBoot应用程序设置两个数据源。目前,用于(成功地)处理MariaDB服务器上超时的单个数据源工作解决方案在application.properties中设置了以下三个参数 我使用基于Java的数据源配置检查过的各种示例大致如下:

  • 我在logback.xml中定义了一个logback appender,它是一个DB appender,但是我想知道是否有任何方法可以使用我自己定义为bean的连接池在java中配置appender。 我发现了类似的事情,但从来没有真正的答案。

  • 问题内容: 说我有两个JavaBeans 和。 如果创建一个Person对象的列表,我想编组成这样的东西: 可以使用这里描述的技术: 使用JAXB解组/编组List 通过使用和注释JaxbList,可以将其编组为上述XML。 但是,能够重用相同的类来封送对象列表也很好。实际上,我将有许多其他类型的bean。我可以这样: 但是,理想情况下,最好用类名的复数形式替换“列表”,用类名替换“ item”。

  • 问题内容: 我在logback.xml中定义了一个logback附加程序,它是一个数据库附加程序,但是我很好奇是否有任何方法可以使用定义为bean的我自己的连接池在java中配置附加程序。 我发现类似的事情,但没有实际答案。 问题答案: 这是一个对我有用的简单示例(请注意,在此示例中我使用FileAppender)

  • 我正在尝试使用我自己的应用程序实现或扩展的ResourceConfig或PackageResourceConfig来配置我的Jersey应用程序。因此,我的第一次尝试是将现有的web.xml(实际上,由于开发的库性质,我使用的是web-fragment.xml)配置移植到MyApplication实现。 当我使用第二个版本时,我会收到以下信息 正如您所看到的,是第一个注册的类,但由于它不是公共的,