Java(一百四十五)SpringBoot常用配置(mybatis、热部署等)

40 阅读4分钟

接下来,我们来了解一些SpringBoot的常用配置。

 

一:多环境配置

这个在使用VUE的时候遇到过类似的多环境配置的情况,可以分为开发环境,测试环境,生产环境等,每个环境的部分参数是不相同的。接下来,我尝试下SpringBoot的多环境配置。

SpringBoot中配置多环境有两种方式。

1 :多环境配置文件,激活其中一个使用

这里的构成是这个样子的,需要有一个主配置文件

Application.yml

你想配几个环境就需要有几个子配置文件

Application-dev.yml

Application-prod.yml

Application-test.yml

子文件中的内容很简单,就是配置不同的启动端口号,代码如下:

server:
   port: 8083

那么我们的主配置文件Application.yml该如何调用子配置文件呢?很简单,代码如下:

spring:
   profiles:
     # 对,你没看错,环境对应的名称就是子环境-后边的名字,我这里分别对应 dev|prod|test
     active: dev
 
 #server:
 #  port: 8083
 
 data-source:
   url: https://guanchao.site
   username: camellia
   password: 123456

然后,我们启动服务器。

终端输出如下图所示,启动的是9093端口

1.jpg

 

2 :在主配置文件中编写三个环境的配置

Application.yml代码如下所示:

spring:
   profiles:
     # 对,你没看错,环境对应的名称就是子环境-后边的名字,我这里分别对应 dev | prod | test | dev1 | test1
     active: dev1
 # 这部分存放上边两个环境中相同的变量。
 data-source:
   url: https://guanchao.site
   username: camellia
   password: 123456
   strList:
     - a
     - b
     - c
     - d
 
 ---
 server:
   port: 7091
 spring:
   profiles: dev1
 
 ---
 
 spring:
   profiles: test1
 server:
   port: 7092

启动服务器,从7091端口启动。

 

二:SpringBoot热部署

现在我每次修改完代码之后,就必须得重启服务器代码才能生效,这样做效率太低,那又没有可能配置成热更新呢?那必然是有的。

springBoot框架中有三种文件:

1:java文件

2:配置文件

3:页面文件(这个我是用不到的,现在基本上都是前后端分离)

 

1 :添加jar包依赖

<!--devtools热部署-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
     <optional>true</optional>
     <scope>true</scope>
 </dependency>
 <!--热部署配置插件-->
 <plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <!--热部署配置-->
     <configuration>
         <!--fork:如果没有该项配置,整个devtools不会起作用-->
         <fork>true</fork>
     </configuration>
 </plugin>

上边这两个部分,放到他们该放的地方,不要瞎搞。

 

2 :在application.yml中配置重启

spring:
   #配置热部署,如果src/main/java有改变,则重启服务器
   devtools:
     restart:
       enabled: true
       additional-paths: src/main/java

 

3 :在idea中配置。

File-Settings-Compiler-Build Project automatically  当修改配置文件,自动重启

中文版如下图所示:

2.jpg

你以为配置完这个就结束了嘛。不不不,你太年轻了

还需要配置本地的启动项设置如下图所示:

3.jpg

点击编辑配置,如下图所示:

4.jpg

点击修改选项,选择红框中标注的两个选项。然后,刚才点击的两个选项就到了如下图所示的位置:

5.jpg

这个两个位置的设置都是一样的,都设置为“更新类和资源”

 

到这里,你的IDEA再修改java文件,他就应该是热更新的了。

 

三:SpringBoot集成MyBatis

1 :添加依赖

<dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>2.1.4</version>
 </dependency>
 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.38</version>
 </dependency>

2 :在application.yml中添加配置

# 数据库链接
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://localhost:3306/java?characterEncoding=utf8
   username: root
   password: root

3 :IDEA链接数据库

6.jpg

以及创建dao类以及对应的xml文件这里不再赘述。

 

4 :在项目入口文件DemoApplication.java文件中添加下面的注解

@MapperScan(basePackages = "com.woniu.dao")

代码如下所示:

@SpringBootApplication
 // 添加这个注解扫描dao文件
 @MapperScan(basePackages = "com.example.demo.demos.web.dao")
 public class DemoApplication {
     public static void main(String[] args) {
         SpringApplication.run(DemoApplication.class, args);
     }
 }

5 :创建controller类测试数据库链接

项目文件结构如下图所示:

7.jpg

自动生成的部分的代码我这里就不做展示,我自己创建的UserController.java中的代码如下所示:

package com.example.demo.demos.web.controller;
 
 import com.example.demo.demos.web.dao.User;
 import com.example.demo.demos.web.dao.UserDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.util.List;
 
 @Controller
 public class UserController
 {
     @Autowired
     private UserDao userDao;
 
     @RequestMapping("selectByExample")
     @ResponseBody
     public List<User> selectByExample()
     {
         List<User> list = userDao.selectByExample(null);
         return list;
     }
 }

访问:http://localhost:7092/selectByExample

结果如下图所示:

8.jpg

 

SpringBoot集成myBatis到此为止,就完成了。

 

以上就是SpringBoot的一些常用配置。

 

有好的建议,请在下方输入你的评论。