【Maven】SpringBoot的Maven文件配置(持续更新)

maven导入内容

SpringBoot/Cloud 版本管理

  • SpringBoot 版本管理

版本管理统一管理以下依赖:spring 本身的组件、各种 spring-boot-starter、以及其它第三方依赖(如:slf4j、redis)。包含了spring-boot-starter-web和spring-boot-starter…

<properties>
	<spring-boot.version>2.7.13</spring-boot.version>
</properties>

<!-- SpringBoot 依赖配置 -->
<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-dependencies</artifactId>
		<version>${spring-boot.version}</version>
		<type>pom</type>
		<scope>import</scope>
</dependency>
  • SpringCloud 版本管理
<properties>
	<spring-cloud.version>2021.0.8</spring-cloud.version>
</properties>

<!-- SpringCloud 微服务 -->
<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-dependencies</artifactId>
		<version>${spring-cloud.version}</version>
		<type>pom</type>
		<scope>import</scope>
</dependency>
  • SpringCloud Alibaba 版本管理
<properties>
	<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
</properties>

<!-- SpringCloud Alibaba 微服务 -->
<dependency>
		<groupId>com.alibaba.cloud</groupId>
		<artifactId>spring-cloud-alibaba-dependencies</artifactId>
		<version>${spring-cloud-alibaba.version}</version>
		<type>pom</type>
		<scope>import</scope>
</dependency>

连接数据库依赖

  • mysql-connector-java
<!--连接数据库依赖-->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.16</version>
</dependency>

数据库连接池

  • c3p0 连接池
<!--c3p0数据库连接池-->
<dependency>
	<groupId>com.mchange</groupId>
	<artifactId>c3p0</artifactId>
	<version>0.9.5.2</version>
</dependency>
  • Druid 连接池
<!--Druid-->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
	<version>1.2.2</version>
</dependency>

<!--推荐,将Druid与SpringBoot进行整合-->
<!-- Druid Spring Boot 组件 -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid-spring-boot-starter</artifactId>
	<version>1.2.2</version>
</dependency>

单元测试/lombok

  • junit
<!--Junit单元测试-->
<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.12</version>
</dependency>
  • spring-boot-starter-test(包含在spring-boot-dependencies中)
<!--Spring Boot 测试-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
	<exclusions>
		<!--排除junit-->
		<exclusion>
			<groupId>org.junit.vintage</groupId>
			<artifactId>junit-vintage-engine</artifactId>
		</exclusion>
	</exclusions>
</dependency>
  • lombok🌟

@Data :直接可以省略了Get、Set方法
@Slf4j :不需要单独引入日志依赖和配置日志,直接 log.info( ) 打印日志

<!--lombok简化GetSet方法-->
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.22</version>
</dependency>

Spring/MyBatis依赖

<!--spring-->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-webmvc</artifactId>
	<version>5.1.9.RELEASE</version>
</dependency>

<!--Spring操作数据库的话,还需要一个spring-jdbc-->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jdbc</artifactId>
	<version>5.1.9.RELEASE</version>
</dependency>
  • mybatis(mybatis-spring)
<!--mybatis-->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis</artifactId>
	<version>3.5.6</version>
</dependency>

<!--MyBatis-Spring-->
<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis-spring</artifactId>
	<version>2.0.2</version>
</dependency>
  • mybatis-plus配置
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>

Json解析库

  • jackson(SpringBoot默认)
<!--jackson-databind数据捆绑包-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>
<dependency>
    
<!--jackson-annotations 注解包,提供标准注解功能-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.0</version>
</dependency>
  • fastjson(推荐!!!)
<!--alibaba的fastjson-->
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.60</version>
</dependency>
  • 、fastjson(jackson-databind、jackson-annotations)、aspectjrt(aspectjweaver)、log4j(log4j-core)

AOP依赖

@AspectJ、@Pointcut、通知注解(如:@Before、@After等)、@Aspect和自定义注解

<!--Spring Boot Aop-->
<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-aop</artifactId>
</dependency>

日志依赖

  • log4j
<!--log4j-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.1</version>
</dependency>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

参数校验

支持的注解:@Max,@Min等

<!--Spring Validation-->
<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

服务监控

<!--actuator监控导入-->
<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!---->
  • SpringBoot Admin可视化
<!-- Admin服务端 -->
	<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-client</artifactId>
			<version>2.3.1</version>
	</dependency>

<!-- Admin客户端 -->
	<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-server</artifactId>
			<version>2.3.1</version>
	</dependency>
  • 启动类上添加注解:
@EnableAdminServer

项目热部署

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

hutool工具包

<!--Hutool-->
<dependency>
		<groupId>cn.hutool</groupId>
		<artifactId>hutool-all</artifactId>
		<version>5.4.7</version>
</dependency>

build-resources(资源导入)

  • 静态资源导出配置
<!--在build中配置resources,来防止我们的资源导出失败问题-->
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

build-plugins(Maven插件)

全面详解Maven的配置文件pom.xml(含常用plugin)-优快云博客

profiles(Maven运行时环境)

profiles用于定义 Maven 运行时的不同配置环境,比如开发环境、测试环境、生产环境等,可以在不同的环境中使用不同的配置,比如我们做了如下配置

<profiles>
	<!--生产环境prod-->
	<profile>
		<id>prod</id>
		<activation>
			<!--true表示默认启用该profile-->
			<activeByDefault>true</activeByDefault>
		</activation>
		<build>
			<!--定义了maven-compiler-plugin插件的版本和为Java11设置编译器版本-->
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.8.1</version>
					<configuration>
						<release>11</release>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</profile>
	
	<!--开发环境dev-->
	<profile>
			<id>dev</id>
			<activation>
					<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
					<profilesActive>dev</profilesActive>
			</properties>
	</profile>
</profiles>
  • 激活特定profile
mvn clean install -Pprod

properties(JDK声明配置)

  • 声明JDK版本
<!--声明jdk版本-->
<properties>
    <java.version>1.8</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
  • 版本version管理
<properties>
	<spring-boot.version>2.7.13</spring-boot.version>
	<spring-cloud.version>2021.0.8</spring-cloud.version>
	<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>
</properties>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值