(吧这个图片保存到本地,之后修改后缀为.zip,打开)
1.热启动
平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2.全局异常捕获
· @ControllerAdvice 是 controller 的一个辅助类,最常用的就是作为全局异常处理的切面类
· @ControllerAdvice 可以指定扫描范围
· @ControllerAdvice 约定了几种可行的返回值,如果是直接返回 model 类的话,需要使用 @ResponseBody 进行 json 转换
o 返回 String,表示跳到某个 view
package com.nn.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
//全局异常捕获
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class)
@ResponseBody
public Map<String, Object> exceptionHandler() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("errorCode", "101");
map.put("errorMsg", "系統错误!");
return map;
}
}
3.多环境配置
spring.profiles.active=pre
application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境
4.日志
SpringBoot通过logging.level.*=debug
来配置日志级别,*填写包名
# 设置com.leyou包的日志级别为debug
logging.level.com.leyou=debug
5.整合连接池
HikariCP应该是目前速度最快的连接池了
spring:
application:
name: *-service
datasource:
url: jdbc:mysql://localhost:3306/*?useUnicode=true&characterEncoding=UTF-8
username: root
password: root
hikari:
maximum-pool-size: 30
minimum-idle: 10
Druid连接池 略
5.整合mybatis
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
# mybatis 别名扫描
mybatis.type-aliases-package=com.heima.pojo
# mapper.xml文件位置,如果没有映射文件,请注释掉
mybatis.mapper-locations=classpath:mappers/*.xml
启动类加入注解
@MapperScan("com.leyou.item.mapper") // mapper接口的包扫描
6.通用mapper
<!-- 通用mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
@Mapper
public interface UserMapper extends tk.mybatis.mapper.common.Mapper<User>{
}