Spring boot对比Spring之怎么叫自动配置
Posted hippoppower
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot对比Spring之怎么叫自动配置相关的知识,希望对你有一定的参考价值。
Spring boot对比Spring之怎么叫自动配置
Spring配置JDBC
1:基于xml
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="driverClassName" value="${jdbc.driver}" />
<property name="maxActive" value="10" />
<property name="minIdle" value="5" />
</bean>
application.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
2,基于java的配置
@Configuration
public class JdbcPropertiesConfiguration {
@Bean
public DataSource dataSource(){
DruidDataSource dataSource=new DruidDataSource();
dataSource.setUsername("root");
dataSource.setPassword("root");
dataSource.setUrl("jdbc:mysql://localhost:3306/test");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
return dataSource;
}
}
Springboot的配置:
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
总结:在此例中,
1,在spring中,仍然需要手动配置一个dataSource对象,交给ioc容器,然后才能有后续的访问数据库等操作。
2,springboot,当你添加了jdbc的maven依赖后,就“自作主张”的帮你你配置了dataSource对象,因为猜测你可能会用。
自动配置
springboot的自动配置,指的是springboot,会自动将一些配置类的bean注册进ioc容器,我们可以需要的地方使用@autowired或者@resource等注解来使用它。
“自动”的表现形式就是我们只需要引我们想用功能的包,相关的配置我们完全不用管,springboot会自动注入这些配置bean,我们直接使用这些bean即可。
以上是关于Spring boot对比Spring之怎么叫自动配置的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 之 spring.factories
Spring Boot 2从入门到入坟 | 自动配置篇:源码分析之自动包规则原理
Spring Boot 2从入门到入坟 | 自动配置篇:源码分析之自动包规则原理