Spring Boot 项目的常用配置与依赖

30 篇文章 0 订阅
4 篇文章 0 订阅

maven 打包配置

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

测试注解 @SpringBootTest 的依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
</dependency>

Eureka-server

Eureka-server 依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

Eureka-server 配置文件

# Eureka相关配置
# Eureka 服务
server:
  port: 10010
# Eureka 项目名称
spring:
  application:
    name: eureka-server
# Eureka 主机名称
eureka:
  instance:
    hostname: localhost
  client:
    fetch-registry: false # 表示是否从Eureka Server获取注册信息,默认为true.因为这是一个单点的Eureka Server,不需要同步其他的Eureka Server节点的数据,这里设置为false
    register-with-eureka: false # 表示是否将自己注册到Eureka Server,默认为true.由于当前应用就是Eureka Server,故而设置为false.
    service-url:
      # 设置与Eureka Server的地址,查询服务和注册服务都需要依赖这个地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

Eureka-server 启动类

//开启 Eureka 注册中心服务
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

Eureka-client 

Eureka-client 依赖

<dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

Eureka-client 服务注册配置文件

#项目名称
spring:
  application:
    name: product-service
#配置 eureka 注册中心的 url
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10010/eureka/

工具类 lombok 依赖

可以快速的为类提供 get,set,toString 等方法

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

修改项目的端口号

server.port=9090

日志相关配置

配置⽇志级别

        配置以后,只会打印级别大于等于配置级别的日志

        如下表示修改整个项目的日志级别

logging.level.root = info

        也可以设置指定路径下的日志级别

logging.level.com.example.springbootdemo=info

配置⽇志⽂件的路径和⽂件名

        表示在项目文件下,创建一个 logger 文件夹,文件夹下的 springboot.log 为日志文件

logging.file.name=logger/springboot.log

配置⽇志⽂件的保存路径

        表示在项目文件下创建一个 logger2 文件夹,Spring Boot 会自动在该文件夹下创建名为spring.log 的日志文件

logging.file.path=logger2

配置⽇志分割后的⽂件名格式

        因为日志如果都放到一个文件中,日积月累会导致文件过大,不好阅读,所以当文件达到一定大小就要进行分割

logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}.%i

配置日志超过该大小就自动分割

logging.logback.rollingpolicy.max-file-size=1KB

MyBatis 相关配置

Mysql 依赖

一个关系型数据库的依赖,真正执行 sql 语句的地方

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>

MyBatis 依赖

可以快速操作数据库的框架

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.3.1</version>
</dependency>

连接数据库的相关参数配置

#驱动类名称 
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库url(mybatis_test是数据库的名称)
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
#数据库用户名
spring.datasource.username=xxx
#数据库密码
spring.datasource.password=xxx

        注意事项:如果使⽤MySQL是 5.x 之前的使⽤的是 com.mysql.jdbc.Driver,如果是⼤于 5.x 使⽤的是 com.mysql.cj.jdbc.Driver

配置打印 MyBatis 日志

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

开启驼峰命名

        可以自动的将蛇形结构的字段名和小驼峰结构的属性名,如 create_time 和 createTime 之间建立映射关系

mybatis.configuration.map-underscore-to-camel-case= true

配置 mybatis xml 的⽂件路径

        如果通过 XML 方式进行 mybatis 开发,就需要指定 mybatis xml 的文件路径

mybatis.mapper-locations=classpath:mapper/**Mapper.xml

        注意:mapper/**Mapper.xml 这个路径在 resources 文件下

MyBatis 的固定 xml 格式

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.springbootdemo.Mapper.UserInfoXMLMapper">
 
</mapper>

Spring 项目线上发布时对 Tomcat 的配置

server.tomcat.uri-encoding=UTF-8
server.tomcat.max-http-header-size=8096

Java17,spring-boot3.1.6 主从项目配置文件

主项目

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>spring-cloud-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <java.version>17</java.version>
        <mybatis.version>3.0.3</mybatis.version>
        <mysql.version>8.0.33</mysql.version>
        <spring-cloud.version>2022.0.3</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter-test</artifactId>
                <version>${mybatis.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

子项目

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spring-cloud-demo</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>order-service</artifactId>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小林想被监督学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值