Adr*_*scu 4 java sql spring spring-data spring-boot
所以,我一直在做一个 spring boot 项目,现在我正在研究数据库。我认为最好为数据库设置两个用户:
一个可以访问用户表进行login/register/information更新,另一个可以访问其他表。
我的想法是为两个数据源创建两个单独的 bean,每个 bean 都有一个单独的用户,当用户想要登录时,控制器会相应地更改 JDBCtemplate 数据源。
但我不确定这是否可行,因为 JDBCtemplate 已经定义为 Spring Boot 项目,我不知道它的范围(我假设如果它不是会话 bean,更改数据源将适用于所有用户,而不仅仅是一位用户)
有没有人知道我应该如何解决这个问题?请告诉我!
小智 5
您可以创建 2 个 JdbcTemplate bean:
// declare
@Bean("jdbc1")
public JdbcTemplate createJdbcTemplate1(@Autowired @Qualifier("datasource1") DataSource dataSource1){
return new JdbcTemplate(dataSource1);
}
@Bean("jdbc2")
public JdbcTemplate createJdbcTemplate2(@Autowired @Qualifier("datasource2") DataSource dataSource2){
return new JdbcTemplate(dataSource2);
}
Run Code Online (Sandbox Code Playgroud)
并在自动装配时指定 bean 的名称:
// use jdbcTemplate1 for login/register/information
@Autowired
@Qualifier("jdbc1")
protected JdbcTemplate jdbcTemplate1;
// use jdbcTemplate2 for other
@Autowired
@Qualifier("jdbc2")
protected JdbcTemplate jdbcTemplate2;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4728 次 |
| 最近记录: |