1.maven依赖
4.0.0 com.xwolf boot 0.0.1-SNAPSHOT jar boot Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.1.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-aop org.springframework.boot spring-boot-starter-data-redis org.mybatis.spring.boot mybatis-spring-boot-starter 1.2.0 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test mysql mysql-connector-java com.alibaba druid 1.0.27 com.alibaba fastjson 1.2.22 org.projectlombok lombok com.google.guava guava 20.0 com.github.pagehelper pagehelper 4.2.1 org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-compiler-plugin 1.8 1.8
2.application.yml
spring: application: name: boot http: encoding: force: true charset: UTF-8 enabled: true #指定项目的运行环境,可自动启用或停止某些功能 profiles: active: devdatasource: druid: url: jdbc:mysql://127.0.0.1:3306/wifi2?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&createDatabaseIfNotExist=true username: eap password: eap@eap filters: stat,slf4j initialSize: 10 maxActive: 100 maxWait: 60000 minIdle: 5 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20logging: config: classpath:logback.xml # file: d:/logs/boot.logserver: port: 8080 session: timeout: 30mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.xwolf.boot.entity check-config-location: true config-location: classpath:mybatis.xml
Druid数据源配置并添加sql监控:
package com.xwolf.boot.config;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter;import com.google.common.collect.Lists;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.boot.web.servlet.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Profile;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.PlatformTransactionManager;import java.util.HashMap;import java.util.Map;/** **
* * @author xwolf * @date 2017-02-25 08:14 * @since V1.0.0 */@Configurationpublic class DataSourceConfig { @ConfigurationProperties(prefix = "datasource.druid") @Bean(name="datasource",initMethod = "init",destroyMethod = "close") public DruidDataSource getDataSource(){ return new DruidDataSource(); } @Bean public PlatformTransactionManager transactionManager(){ return new DataSourceTransactionManager(getDataSource()); } // 指定环境下dev 开启监控 @Bean @Profile("dev") public FilterRegistrationBean druidFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new WebStatFilter()); MapintParams = new HashMap<>(); intParams.put("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); registration.setName("DruidWebStatFilter"); registration.setUrlPatterns(Lists.newArrayList("/*")); registration.setInitParameters(intParams); return registration; } //数据源监控 @Bean @Profile("dev") public ServletRegistrationBean servletRegistrationBean() { ServletRegistrationBean registration = new ServletRegistrationBean(); registration.setServlet(new StatViewServlet()); registration.setName("druid"); registration.setUrlMappings(Lists.newArrayList("/druid/*")); //自定义添加初始化参数 Map intParams = new HashMap<>(); intParams.put("loginUsername","druid"); intParams.put("loginPassword","druid"); registration.setName("DruidWebStatFilter"); registration.setInitParameters(intParams); return registration; }}
启动
package com.xwolf;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication@MapperScan("com.xwolf.boot.dao")public class BootApplication { public static void main(String[] args) { SpringApplication.run(BootApplication.class, args); }}
其他Controller,service,dao ,mapper 配置和普通spring项目一样,此处省略。
源码地址: