springboot创建项目模板
1、使用IDEA创建项目
1.1 File->new->project->Spring Initializr
1.2 next
注意的选择项:Type-Maven或者Gradle Language-语言 Packaging-打包方式 JavaVersion java版本
1.3 next
要引入的依赖 常用的如SQL->MySQL Driver 等 可以不选择任何一个直接next 后续在pom.xml中手动添加
1.4 next
项目名称及项目目录
完成即可。
2、常用配置
2.1 项目整体目录
2.2 application.yml
springboot的配置文件为resources目录下的application.yml或者application.properties
这是2种风格的配置文件,其作用相同。我在这里使用yml方式配置:
#DataSources
spring:
#数据源
datasource:
name: mysql_test
type: com.alibaba.druid.pool.DruidDataSource
druid:
filters: stat
driver-class-name: com.mysql.jdbc.Driver
#url: jdbc:mysql://172.16.1.216:3306/schoolatu?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
username: root
password: 123456
initial-size: 5
max-active: 100
min-idle: 5
max-wait: 10000
min-evictable-idle-time-millis: 3600000
time-between-eviction-runs-millis: 3600000
validation-query: SELECT 1
#请求编码格式
http:
encoding:
force: true
charset: UTF-8
enabled: true
#mybatis相关配置
mybatis:
#mapper文件扫描路径
mapper-locations: classpath:mapper/*.xml
#实体类路径
type-aliases-package: com.yddk.bean
#驼峰式命名规则:开启
configuration:
map-underscore-to-camel-case: true
#tomcat配置
server:
port: 8080
tomcat:
uri-encoding: UTF-8
#日志配置
logging:
config: classpath:log4j2.yml
2.3 log4j2.yml
日志配置文件,在网上找的,挺全面的配置,原出处忘记是哪里了。
# 共有8个级别,按照从低到高为:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF。
Configuration:
status: warn
monitorInterval: 30
Properties: # 定义全局变量
Property: # 缺省配置(用于开发环境)。其他环境需要在VM参数中指定,如下:
#测试:-Dlog.level.console=warn -Dlog.level.xjj=trace
#生产:-Dlog.level.console=warn -Dlog.level.xjj=info
- name: log.level.console
value: info
- name: log.path
value: log
- name: project.name
value: sdyddk
- name: log.pattern
value: "%d{
yyyy-MM-dd HH:mm:ss.SSS} -%5p ${
PID:-} [%15.15t] %-30.30C{
1.} : %m%n"
Appenders:
Console: #输出到控制台
name: CONSOLE
target: SYSTEM_OUT
PatternLayout:
pattern: ${
log.pattern}
# 启动日志
RollingFile:
- name: ROLLING_FILE
fileName: ${
log.path}/${
project.name}.log
filePattern: "${
log.path}/historyRunLog/$${
date:yyyy-MM}/${
project.name}-%d{
yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${
log.pattern}
Filters:
# 一定要先去除不接受的日志级别,然后获取需要接受的日志级别
ThresholdFilter:
- level: error
onMatch: DENY
onMismatch: NEUTRAL
- level: debug
onMatch: ACCEPT
onMismatch: DENY
Policies:
TimeBasedTriggeringPolicy: # 按天分类
modulate: true
interval: 1
DefaultRolloverStrategy: # 文件最多100个
max: 100
# 平台日志
- name: PLATFORM_ROLLING_FILE
ignoreExceptions: false
fileName: ${
log.path}/platform/${
project.name}_platform.log
filePattern: "${
log.path}/platform/$${
date:yyyy-MM}/${
project.name}-%d{
yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${
log.pattern}
Policies:
TimeBasedTriggeringPolicy: # 按天分类
modulate: true
interval: 1
DefaultRolloverStrategy: # 文件最多100个
max: 100
# 业务日志
- name: BUSSINESS_ROLLING_FILE
ignoreExceptions: false
fileName: ${
log.path}/bussiness/${
project.name}_bussiness.log
filePattern: "${
log.path}/bussiness/$${
date:yyyy-MM}/${
project.name}-%d{
yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${
log.pattern}
Policies:
TimeBasedTriggeringPolicy: # 按天分类
modulate: true
interval: 1
DefaultRolloverStrategy: # 文件最多100个
max: 100
# 错误日志
- name: EXCEPTION_ROLLING_FILE
ignoreExceptions: false
fileName: ${
log.path}/exception/${
project.name}_exception.log
filePattern: "${
log.path}/exception/$${
date:yyyy-MM}/${
project.name}-%d{
yyyy-MM-dd}-%i.log.gz"
ThresholdFilter:
level: error
onMatch: ACCEPT
onMismatch: DENY
PatternLayout:
pattern: ${
log.pattern}
Policies:
TimeBasedTriggeringPolicy: # 按天分类
modulate: true
interval: 1
DefaultRolloverStrategy: # 文件最多100个
max: 100
# DB 日志
- name: DB_ROLLING_FILE
ignoreExceptions: false
fileName: ${
log.path}/db/${
project.name}_db.log
filePattern: "${
log.path}/db/$${
date:yyyy-MM}/${
project.name}-%d{
yyyy-MM-dd}-%i.log.gz"
PatternLayout:
pattern: ${
log.pattern}
Policies:
TimeBasedTriggeringPolicy: # 按天分类
modulate: true
interval: 1
DefaultRolloverStrategy: # 文件最多100个
max: 100
Loggers:
Root:
level: info
AppenderRef:
- ref: CONSOLE
- ref: ROLLING_FILE
- ref: EXCEPTION_ROLLING_FILE
Logger:
- name: platform
level: info
additivity: false
AppenderRef:
- ref: CONSOLE
- ref: PLATFORM_ROLLING_FILE
- name: bussiness
level: info
additivity: false
AppenderRef:
- ref: BUSSINESS_ROLLING_FILE
- name: exception
level: debug
additivity: true
AppenderRef:
- ref: EXCEPTION_ROLLING_FILE
- name: db
level: info
additivity: false
AppenderRef:
- ref: DB_ROLLING_FILE
# 监听具体包下面的日志
# Logger: # 为com.xjj包配置特殊的Log级别,方便调试
# - name: com.xjj
# additivity: false
# level: ${
sys:log.level.xjj}
# AppenderRef:
# - ref: CONSOLE
# - ref: ROLLING_FILE
2.4 pom.xml
maven依赖配置
<?xml version="1.0" encoding=