在初学习springboot的过程中,有一些东西,让我百思不能其解,盲猜就是源码
我以为的注入是这样的
@Configuration public class JdbcConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource getData(){
DruidDataSource druidDataSource=new DruidDataSource();
return druidDataSource;
} }
然后通过@Resource或者@Autowired进行自动装配
@RestController
public class TestController {
private static final Logger log = LoggerFactory.getLogger(TestController.class);
@Resource
private DataSource source;
}
但是当我加入jar或者依赖时候发生类似于这样的代码
@SpringBootTest
class Springboot04DataApplicationTests {
@Autowired
DataSource dataSource;
@Test
void contextLoads() throws SQLException {
System.out.println(dataSource.getClass());
Connection connection=dataSource.getConnection();
System.out.println

本文深入探讨了Spring Boot中数据源的自动配置原理,从@ConfigurationProperties到@Conditional注解,解释了如何通过配置文件设置数据源,并分析了在不同数据源之间选择的逻辑。特别提到了HikariCP作为默认数据源的原因及其配置方式。
最低0.47元/天 解锁文章
1646





