maven依赖

Maven依赖配置指南

本文介绍Spring Boot项目中常用的Maven依赖配置,包括MySQL连接、Druid连接池、日志配置等。

MySQL依赖配置

pom.xml 中添加MySQL连接器依赖:

<!-- MySQL连接器依赖 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>

Druid连接池配置

1. 添加Maven依赖

切换到阿里巴巴的Druid连接池,在 pom.xml 中添加:

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.17</version>
</dependency>

2. 配置文件设置

application.yml 中配置数据源:

spring:
application:
name: tlias-web-management
# 数据库配置
datasource:
# 阿里巴巴数据库连接池
# type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/tlias
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456

# MyBatis相关配置,将日志输出到控制台
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 开启驼峰命名规则:启动之后,数据库字段会映射为实体类的属性
map-underscore-to-camel-case: true
# 扫描mapper接口,路径在resource下
# mapper-locations: classpath:Mapper/*.xml

Logback日志配置

1. 配置说明

启用Logback日志:由于Spring Boot依赖自带Logback,所以不需要单独导入Logback依赖。

2. logback.xml配置文件

src/main/resources 目录下创建 logback.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d 表示日期,%thread 表示线程名,%-5level表示级别从左显示5个字符宽度,%logger显示日志记录器的名称, %msg表示日志消息,%n表示换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>

<!-- 系统文件输出 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件输出的文件名, %i表示序号 -->
<FileNamePattern>D:/12257/Desktop/垃圾/java/SpringBootDemo/webProject1/tlias-web-management/logs/tlias-%d{yyyy-MM-dd}-%i.log</FileNamePattern>
<!-- 最多保留的历史日志文件数量 -->
<MaxHistory>30</MaxHistory>
<!-- 最大文件大小,超过这个大小会触发滚动到新文件,默认为 10MB -->
<maxFileSize>10MB</maxFileSize>
</rollingPolicy>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d 表示日期,%thread 表示线程名,%-5level表示级别从左显示5个字符宽度,%msg表示日志消息,%n表示换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>

<!-- 日志输出级别 -->
<root level="debug">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
</root>
</configuration>

3. 日志级别说明

日志级别从低到高排序:

  • trace - 最详细的信息
  • debug - 调试信息
  • info - 一般信息
  • warn - 警告信息
  • error - 错误信息

4. 在代码中使用日志

在需要启用日志的类中,可以通过以下两种方式声明:

方式一:手动声明

private static final Logger log = LoggerFactory.getLogger(该类的类名.class);

方式二:使用Lombok注解

@Slf4j
public class YourClassName {
// 类内容
}

然后调用日志方法:

log.info("信息日志");
log.debug("调试日志");
log.warn("警告日志");
log.error("错误日志");

Spring Boot常用注解

参数绑定注解

  • @PathVariable - 获取URL路径中的变量,如 /users/{id}
  • @RequestParam - 获取查询参数,如 /users?name=john
  • @RequestBody - 获取请求体中的JSON/XML数据

常见问题解决

Lombok注解失效问题

如果在IDEA中Spring Boot项目的Lombok注解失效,可以尝试以下解决方案:

pom.xml 中注释掉以下配置:

  • plugin的 org.projectlombok
  • lombok依赖的 <optional>true</optional>