Spring Boot 常用配置
application.yml
Section titled “application.yml”server: port: 8080 servlet: context-path: /api
spring: application: name: my-application profiles: active: devspring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: password hikari: minimum-idle: 5 maximum-pool-size: 20 idle-timeout: 30000 max-lifetime: 1800000 connection-timeout: 30000spring: data: redis: host: localhost port: 6379 password: database: 0 timeout: 3000ms lettuce: pool: max-active: 8 max-idle: 8 min-idle: 0MyBatis-Plus 配置
Section titled “MyBatis-Plus 配置”mybatis-plus: mapper-locations: classpath*:/mapper/**/*.xml type-aliases-package: com.example.entity configuration: map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: id-type: auto logic-delete-field: deleted logic-delete-value: 1 logic-not-delete-value: 0logging: level: root: info com.example: debug file: name: logs/application.log pattern: console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"@RestController@RequestMapping("/api/users")public class UserController {
@Autowired private UserService userService;
@GetMapping("/{id}") public Result<User> getById(@PathVariable Long id) { return Result.success(userService.getById(id)); }
@PostMapping public Result<Void> save(@RequestBody @Valid UserDTO dto) { userService.save(dto); return Result.success(); }}全局异常处理
Section titled “全局异常处理”@RestControllerAdvicepublic class GlobalExceptionHandler {
@ExceptionHandler(BusinessException.class) public Result<Void> handleBusinessException(BusinessException e) { return Result.fail(e.getCode(), e.getMessage()); }
@ExceptionHandler(MethodArgumentNotValidException.class) public Result<Void> handleValidationException(MethodArgumentNotValidException e) { String message = e.getBindingResult().getFieldErrors().stream() .map(FieldError::getDefaultMessage) .collect(Collectors.joining(", ")); return Result.fail(400, message); }}