接下来,我们来了解一些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端口
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 当修改配置文件,自动重启
中文版如下图所示:
你以为配置完这个就结束了嘛。不不不,你太年轻了
还需要配置本地的启动项设置如下图所示:
点击编辑配置,如下图所示:
点击修改选项,选择红框中标注的两个选项。然后,刚才点击的两个选项就到了如下图所示的位置:
这个两个位置的设置都是一样的,都设置为“更新类和资源”
到这里,你的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链接数据库
以及创建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类测试数据库链接
项目文件结构如下图所示:
自动生成的部分的代码我这里就不做展示,我自己创建的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
结果如下图所示:
SpringBoot集成myBatis到此为止,就完成了。
以上就是SpringBoot的一些常用配置。
有好的建议,请在下方输入你的评论。