SpringBoot的浅浅配置和小整合

147 阅读2分钟

SpringBoot的浅浅配置和小整合

本文如题,就是浅浅记录一下学习的过程中一些过程,比较简单,并没有多少深度。谢谢!

SpringBoot创建

  1. 从IDEA中新建项目或者模块。注意jdk版本,一般不超过你的环境jdk。

    image-20220506191826655

  2. 选择要加载的依赖项。

    image-20220506192025078

SpringBoot的配置文件

  1. SpringBoot的配置文件可以用

    • application.properties
    • application.yml
    • application.yaml

    具体配置属性可以到docs.spring.io/spring-boot…查看。

  2. 三种配置有优先关系,从.properties, .yml, .yaml优先关系递减。但是又是互相层叠的。 可以稍微举个例子。比如:三个文件都配置了端口号,那生效的就是按照优先级来的。但是三个文件都配置了独有的配置,那这三个配置都会生效。

  3. 我们一般使用的是.yml,比较方便简单。可以看看具体的配置例子。

     spring:
       datasource:
         druid:
           driver-class-name: com.mysql.cj.jdbc.Driver
           url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=GMT%2B8&useSSL=false
           username: root
           password: root
    
  4. 在配置文件中也可以使用属性名引用方式引用属性

     baseDir: /usr/local/fire
     center:
     dataDir: ${baseDir}/data
     tmpDir: ${baseDir}/tmp
     logDir: ${baseDir}/log
     msgDir: ${baseDir}/msgDir
    
  5. 我们可以使用@Value注解配合SpEL读取单个数据,如果数据存在多层级,依次书写层级名称即可。

    image-20220506193422683

  6. 但是需要整体读取上面的enterprise,就可以用 @ConfigurationProperties这个注解

    • 新建一个类来封装数据。
     @ConfigurationProperties(prefix = "enterprise")
     public class Enterprise {
     private String name;
     private Integer age;
     private String[] subject; 
     }
     ​
     ​
    
    • 再通过自动装配,这样就好了。

       @Autowired
       private Enterprise enterprise;
      

SpringBoot的一些小型整合

  1. 整合Junit

    • 默认IDEA的test下就有,观察代码可以看到 @SpringBootTest这个注解

    • 需要注意的是测试类如果存在于引导类所在包或子包中无需指定引导类

    • 测试类如果不存在于引导类所在的包或子包中需要通过classes属性指定引导类。

       @SpringBootTest(classes = Springboot03JunitApplication.class)
      
  2. 整合Mybatis以及Druid

    • 首先需要导入驱动和框架image-20220506195444375-

    • 然后配置属性,这里需要注意的是,由于导入的驱动是8.x高版本,之前我用的5.x都是不需要配置时区的,但这里需要配置时区。并且驱动也最好换成com.mysql.cj.jdbc.Driver,要不然会有一些小警告。

       spring:
         datasource:
           druid:
             driver-class-name: com.mysql.cj.jdbc.Driver
             url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=GMT%2B8&useSSL=false
             username: root
             password: root
      

后言

差不多水完了吧,后续可能要一段时间才能继续学习相关知识了。大概到暑假才能继续学习。

相关代码

CODE

\