框架的一些基础配置
1、pom文件
<?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>com.ycyun</groupId> <artifactId>admin</artifactId> <version>1.0</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <properties> <java.version>1.8</java.version> <swagger.version>2.8.0</swagger.version> <google.guava>23.0</google.guava> <fastjson.version>1.2.46</fastjson.version> <druid.version>1.1.8</druid.version> <poi.version>3.17</poi.version> <jwt.version>0.9.0</jwt.version> <mybatis.version>1.3.1</mybatis.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${google.guava}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <!-- <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- druid需要此日志包 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-bean-validators</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> </dependency> --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>${jwt.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2、application.yml
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/ycyun?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false username: root password: 123456 initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 testWhileIdle: true testOnBorrow: true testOnReturn: false poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 filters: stat,wall,log4j connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 jackson: date-format: yyyy-MM-dd HH:mm:ss joda-date-time-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 servlet: multipart: max-file-size: 100MB max-request-size: 100MB mvc: servlet: load-on-startup: 1 redis: host: localhost port: 6379 mybatis: type-aliases-package: com.boot.security.server.model mapper-locations: classpath:/mybatis-mappers/* configuration: mapUnderscoreToCamelCase: true files: path: ${file-path:d:/files} logging: config: classpath:logback-admin.xml log: level: root: info my: debug file: logs/admin-server.log maxsize: 30MB token: expire: seconds: 7200 jwtSecret: (XIAO:)_$^11244^%$_(WEI:)_@@++--(LAO:)_++++_.sds_(SHI:) server: port: 8080
3、logback-admin.xml
<?xml version='1.0' encoding='UTF-8'?> <configuration> <springProperty name="logFile" source="log.file" /> <springProperty name="rootlevel" source="log.level.root" /> <springProperty name="mylevel" source="log.level.my" /> <springProperty name="maxFileSize" source="log.maxsize" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d [%thread] %-5level %logger{50} -[%file:%line]- %msg%n </pattern> <charset>UTF-8</charset> </encoder> </appender> <appender name="adminLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logFile}</file> <encoder> <pattern>%d [%thread] %-5level -[%file:%line]- %msg%n </pattern> <charset>UTF-8</charset> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${logFile}.%d{yyyy-MM-dd}.%i</fileNamePattern> <maxFileSize>${maxFileSize}</maxFileSize> </rollingPolicy> </appender> <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logFile}.error</file> <encoder> <pattern>%d [%thread] %-5level %logger{36} -[%file:%line]- %msg%n </pattern> <charset>UTF-8</charset> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${logFile}.error.%d{yyyy-MM-dd}.%i</fileNamePattern> <maxFileSize>${maxFileSize}</maxFileSize> </rollingPolicy> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>error</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="sqlLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${logFile}.sql</file> <encoder> <pattern>%d [%thread] %msg%n </pattern> <charset>UTF-8</charset> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${logFile}.sql.%d{yyyy-MM-dd}.%i</fileNamePattern> <maxFileSize>${maxFileSize}</maxFileSize> </rollingPolicy> </appender> <logger name="adminLogger" level="${mylevel}" additivity="true"> <appender-ref ref="adminLog" /> </logger> <logger name="com.ycyun.admin.dao" level="DEBUG" additivity="true"> <appender-ref ref="sqlLog" /> </logger> <root level="${rootlevel}"> <appender-ref ref="STDOUT" /> <appender-ref ref="errorLog" /> </root> </configuration>
关于sl4j的基础配置可以看这篇博客 点击打开链接