1-3. SpringBoot基础,Java配置(全注解配置)取代xml配置

最近突发奇想,整合一下以前一些学习笔记,分享自己这几年爬过的坑,逐步更新文章,谢谢大家的关注和支持。

这节讲一下SpringBoot的学习必须的一些基础,Java配置。其实在Spring2.0时代就已经有注解配置了,但是开发人员还是喜欢注解和xml混合配置,当SpringBoot出来后,这个全注解配置,即Java配置就成为主流。

讲一个例子
在SpringMVC+Spring+Mybatis框架整合时,必须注入IOC容器的时一个数据库连接池,因此做过SSM架构搭建的人都知道要配置以下

<!-- 配置连接池 -->
    <bean id="dataSource" class="com.alibab.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在SpringBoot中如何通过Java配置把其中注入呢(这边只是讲个例子,SpringBoot有整合了Mybatis依赖,因此不需要我们自己注入,不过大家可以通过这个例子来进行注入一些SpringBoot没提供的整合依赖包)

比较常用的注解有下面有:
@Configuration:声明一个类作为配置类,代替xml文件
@Bean : 声明在方法上,其返回值注入到Bean容器中,默认id为方法名
@Value : 属性注入
@Property:指定外部属性文件

导入Druid的依赖

<dependency>
   <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.6</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

如果Spring2.0学过注解配置的话,其实通过这些就可配置了,编写一个JdbcConfig类

@Configuration
@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {

    @Value("{#jdbc.driverClassName}")
    private String driverClassName;
    @Value("{#jdbc.url}")
    private String url;
    @Value("{#jdbc.username}")
    private String username;
    @Value("{#jdbc.password}")
    private String password;

    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driverClassName);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

编写一个jdbc.properties文件
在这里插入图片描述
这边只是测试注入,因此没必要真的链接数据库,只有看到注入成功就行,在测试类中测试注入情况。通过打断点debu运行,发现注入成功。
在这里插入图片描述
SpringBoo提供了更加优雅的配置,SpringBoot的核心配置文件application.properties
因此删去jdbc.properties,在application.properties在添加相应的内容
修改jdbcConfig类,使用 @ConfigurationProperties注解


@Configuration
//@PropertySource("classpath:jdbc.properties")
public class JdbcConfig {


    @Bean
    @ConfigurationProperties(prefix = "jdbc")
    public DataSource dataSource() {
        return new DruidDataSource();
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

再次测试也成功,是不是特别简单的注入。

该项目源码已放在GitHub上,地址是
https://github.com/mingweihua/ming/tree/main/ming-base

博主的坚持 离不开大家关注、评论和点赞,感谢大家支持。护发路上互相扶持!!!

原文章:https://blog.csdn.net/dogHuaMing/article/details/112058153

原文地址:https://www.cnblogs.com/tfil/p/14228214.html