作为一个Spring-Boot-Maven
项目肯定会有各种配置,配置Spring的,配置Maven的,还有数据库的,甚至其他的,也有不要Maven转向Gradle配置方式的。随心所向,随性而生。
文章目录
依赖库
项目需要一个管理三方库的地方,maven的相关配置就不粘贴了,国内一般用阿里云的镜像。
本项目需要用到以下三方库:
-
uuid
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency>
-
log4j
(鉴于安全漏洞,需要持续更新最新版本)<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.17.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.17.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.17.1</version> </dependency>
-
mysql-java
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
-
fastjson
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency>
-
retrofit2
<dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>retrofit</artifactId> <version>2.9.0</version> </dependency>
-
jsoup
<dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.14.3</version> </dependency>
其他的看自己,只是个参考,可以忽略。
数据库
application.properties
里配置
#jdbc
spring.profiles.active=jdbc,common
#驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#druid
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.initialSize=32
spring.datasource.minIdle=5
spring.datasource.maxActive=64
spring.datasource.maxWait=10000
spring.datasource.timeBetweenEvictionRunsMillis=30000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=false
spring.datasource.maxOpenPreparedStatements=100
spring.datasource.filters=stat,wall
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.useGlobalDataSourceStat=true
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;password=${spring.datasource.password}
#Mybatis配置
mybatis.mapper-locations=classpath*:mybatis/mapper/*.xml,classpath*:mybatis/mapper/dispatch/*.xml
mybatis.config-location=classpath:mybatis/sql-map-config.xml
#web静态资源地址
spring.web.resources.static-locations=classpath:static/
#pagehelper
pagehelper.helperDialect=mysql
pagehelper.reasonable=false
pagehelper.row-bounds-with-count=true
pagehelper.offset-as-page-num=true
pagehelper.page-size-zero=true
spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
#文件上传限制
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
另起一个application-jdbc.properties
,放入jdbc相关配置
spring.datasource.url=jdbc:mysql://localhost:3306/app-mgr?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&serverTimezone=Asia/Shanghai&tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123456
这样就可通过Spring框架直接使用数据库。
mapper
的配置放在这
sql-map-config.xml
内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="false"/>
<setting name="defaultStatementTimeout" value="30"/>
<setting name="defaultExecutorType" value="REUSE"/>
<setting name="useGeneratedKeys" value="true"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
Log
每一个系统都必备日志模块用于问题排查,数据查看,报文查询等。So,使用了业界流行的Log4j
,当然鉴于之前的安全事件,自行斟酌。
<?xml version="1.0" encoding="UTF-8"?>
<configuration monitorInterval="180">
<Properties>
<Property name="log-path"/>
</Properties>
<Appenders>
<Console name="console" target="SYSTEM_OUT" charset="utf-8">
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss,SSS}] %-5p %m%n"/>
</Console>
<RollingFile name="logFile" append="true"
fileName="${sys:catalina.home}/logs/app/app-mgr.log"
filePattern="${sys:catalina.home}/logs/app/app-mgr.%d{yyyyMMdd-HH}.log.gz"
bufferedIO="true">
<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss,SSS}] %-5p %m%n"/>
<Policies>
<!-- 时间规则:每天(24小时)生成1个日志备份 -->
<!-- 注:如果用 TimeBasedTriggeringPolicy,filePattern必需带上 HH(小时),否则无法生成备份文件 -->
<TimeBasedTriggeringPolicy interval="24"
modulate="true"/>
<!-- 大小规则:超过XXX大小生成1个日志备份 -->
<!-- <SizeBasedTriggeringPolicy size="20MB" /> -->
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="console"/>
<!-- <AppenderRef ref="logFile"/>-->
</Root>
</Loggers>
</configuration>
End
到此,整个基本配置结束,下面就该轮到写代码的环节啦。部署的时候可以看看是否报错,跟着错误修改即可。