配置文件的位置
配置文件可以放四个位置
- file: ./config/
- file: ./
- classpath: /config/ (classpath就是resources目录)
- classpath: /
优先级从上往下依次降低,即第四个优先级最低,这也是官方推荐使用的配置文件位置
- classpath: /
多环境配置
- resources目录下实现多环境配置,例如resources下有application.properties、application-dev.properties、application-test.properties三个文件,默认使用application.properties。但是如果在application.properties中配置下面信息,则会使用application-dev.properties配置。
spring.profiles.active=dev
这样可以实现多环境切换,在生成环境、测试环境等来回改变。
- yml的多环境配置如下,配置全部写在application.yml一个文件中,默认使用8081端口
server:
port: 8081
---
server:
port: 8082
spring:
profiles: dev
---
server:
port: 8083
spring:
profiles: test
多配置的切换如下,这样就能切换到dev配置使用8082端口
server:
port: 8081
spring:
profiles:
active: dev
---
server:
port: 8082
spring:
profiles: dev
---
server:
port: 8083
spring:
profiles: test
thymeleaf模板引擎
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>
html页面,主要是顶部要添加xmlns字段
<!DOCTYPE html>
<html lang="en" xmlns:th="http://wwww.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>test test</h1>
<div th:text="${msg}"></div>
</body>
</html>
整合JDBC使用
package com.meng.controller;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* @author Administrator
*/
@RestController
public class JdbcController {
@Autowired
JdbcTemplate jdbcTemplate;
@GetMapping("/articleList")
public List<Map<String,Object>> articleList(){
String sql="SELECT * FROM `article`";
List<Map<String,Object>> maps=jdbcTemplate.queryForList(sql);
return maps;
}
@GetMapping("/addArticle")
public String addArticle(){
String sql="INSERT INTO article(id,title,author) VALUES(3,'春','朱自清')";
jdbcTemplate.update(sql);
return "添加成功!";
}
@GetMapping("/deleteArticle")
public String deleteArticle(){
String sql="DELETE FROM article WHERE id=3";
jdbcTemplate.update(sql);
return "删除成功!";
}
@GetMapping("/updateArticle/{id}")
public String updateArticle( @PathVariable("id") Integer id){
String sql="UPDATE article SET author=? WHERE id="+id;
Object[] objects = new Object[1];
objects[0]="朱自清";
jdbcTemplate.update(sql,objects);
return "修改成功!";
}
}
整合Druid数据源
阿里巴巴提供的数据源
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.23</version>
</dependency>
spring:
datasource:
url: jdbc:mysql://120.26.142.247/down_up?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
filters: stat #属性类型的字符串,通过别名的方式配置扩展插件, 监控统计用的stat 日志用log4j 防御sql注入:wall
initialSize: 2 #初始化时池中建立的物理连接个数。
maxp-active: 300 #最大的可活跃的连接池数量
maxWait: 60000 #获取连接时最大等待时间,单位毫秒,超过连接就会失效。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降, 如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
timeBetweenEvictionRunsMillis: 60000 #连接回收器的运行周期时间,时间到了清理池中空闲的连接,testWhileIdle根据这个判断
minEvictableIdleTimeMillis: 300000
添加依赖后,在yml中加入type字段
添加配置文件,config文件下添加DruidController.java
package com.meng.config;
import com.