目录
一、maven导包配置(pom.xml)
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zldc</groupId> <artifactId>weekly</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>weekly Maven Webapp</name> <url>http://maven.apache.org</url>
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> </parent>
<properties> <tomcat-jdbc.version>8.0.32</tomcat-jdbc.version> <mybatis.version>3.2.5</mybatis.version> <mybatis-spring.version>1.2.2</mybatis-spring.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <mysql-connector>5.1.39</mysql-connector> <jdk.version>1.8</jdk.version> <oracle.version>11.2.0.3</oracle.version> <log4j.version>1.2.17</log4j.version> <druid.version>1.0.28</druid.version> <slf4j.version>1.7.2</slf4j.version> </properties>
<dependencies> <!-- spring Boot start --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>compile</scope> </dependency>
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.2.0</version> </dependency>
<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>
<!-- SpringBoot热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <!-- spring Boot end -->
<!-- MySQL依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
<!-- oracle依赖 --> <dependency> <groupId>com.hynnet</groupId> <artifactId>oracle-driver-ojdbc6</artifactId> <version>12.1.0.1</version> </dependency>
<!-- 引用druid数据源依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency>
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.3</version> <classifier>jdk15</classifier> </dependency>
<!-- slf4j --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency>
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version> </dependency>
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> </dependencies>
<build> <finalName>weekly</finalName> <plugins> <!-- 设置编译版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project> |
二、SpringBoot配置文件配置
在application.properties文件中设置spring.profiles.active字段的值,从而读取相应的配置文件。
application.properties |
# 测试机 spring.profiles.active=dev # UAT #spring.profiles.active=uat # 生产机 #spring.profiles.active=pro
server.port=8083 server.session.timeout=3600 # prefix server.context-path=/weekly
concoo.secret=${random.int} spring.jackson.time-zone=GMT+8 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
# alibaba database Pool spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 spring.datasource.maxWait=60000 spring.datasource.timeBetweenEvictionRunsMillis=60000 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=true spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 spring.datasource.filters=stat,wall,log4j spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 扫描sql配置文件:mapper需要的xml文件 mybatis.mapper-locations=classpath:com/zldc/weekly/**/mapper/*.xml # 扫描dto包 将包内的JAVA类的类名作为类别名 mybatis.typeAliasesPackage=com.zldc.weekly.system.dto
###########################LOG################################################ logging.level.org.springframework.web=DEBUG logging.level.org.springboot.sample=TRACE logging.level.org.springframework=WARN logging.level.com.zldc.weekly.mapper=DEBUG |
application-dev.properties |
# 启动热部署 spring.thymeleaf.cache=false
#############################Mysql################################### spring.datasource.url=jdbc:mysql://127.0.0.1:3306/zldcpt?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.username=root spring.datasource.mysql.password=123456 |
三、SpringBoot启动程序
StartApp.java |
package com.zldc.weekly;
import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; import org.springframework.web.servlet.DispatcherServlet;
import com.zldc.weekly.common.filter.BaseFilter;
/** * SpringBoot启动程序 * * @author hrc * @date 2018年10月9日 */ @EnableAutoConfiguration @MapperScan("com.zldc.weekly.**.mapper") public class StartApp extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(StartApp.class); }
public static void main(String[] args) { SpringApplication.run(StartApp.class, args); }
/** * 给访问路径加后缀 * @param dispatcherServlet * @return */ @Bean public ServletRegistrationBean myDispatcherServlet(DispatcherServlet dispatcherServlet) { ServletRegistrationBean registration = new ServletRegistrationBean(dispatcherServlet); registration.addUrlMappings("*.action"); return registration; }
/** * 项目基础过滤器(需要自己写一个过滤器) * @return */ @Bean public FilterRegistrationBean baseFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new BaseFilter()); registration.addUrlPatterns("/*"); registration.addInitParameter("paramName", "paramValue"); registration.setName("baseFilterRegistration"); registration.setOrder(1); return registration; } } |
四、日志文件配置
logback-spring.xml |
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>weekly</contextName> <!--输出到控制台--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender>
<!--按天生成日志--> <appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <Prudent>true</Prudent> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern> D://weeklyLogs/%d{yyyyMMdd}/weekly.log </FileNamePattern> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern> %d{yyyy-MM-dd HH:mm:ss} -%msg%n </Pattern> </layout> </appender>
<root level="debug,debug"> <appender-ref ref="console" /> <appender-ref ref="logFile" /> </root>
</configuration> |