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核心特性之组件自动装配

Spring Boot 2从入门到入坟 | 自动配置篇:源码分析之自动包规则原理

(004)Spring Boot之SpringApplication.run为什么在不加注解的类中也可以运行,及其对比

Spring Boot(十一):MyBatis插件之MyBatis-Plus