SpringBoot 框架整合

代码地址如下:
http://www.demodashi.com/demo/12522.html

一、主要思路

  1. 使用spring-boot-starter-jdbc集成Mybatis框架
  2. 通过spring-boot-starter-cache集成EhCache
  3. 使用WebServlet集成Druid监控

二、程序实现

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.geek</groupId>
		<artifactId>SpringBootInit</artifactId>
		<version>1.0-SNAPSHOT</version>


		<parent>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-parent</artifactId>
			<version>1.5.9.RELEASE</version>
		</parent>

		<properties>
			<mybatis.version>3.4.5</mybatis.version>
			<mybatis.spring.version>1.3.1</mybatis.spring.version>
			<druid.version>1.1.6</druid.version>
			<ehcache.version>3.4.0</ehcache.version>
			<mysql.connector.version>5.1.45</mysql.connector.version>
		</properties>



		<dependencies>
			<!-- SpringBoot -->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-web</artifactId>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-jdbc</artifactId>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-cache</artifactId>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-logging</artifactId>
			</dependency>
			<!-- Mybatis -->
			<dependency>
				<groupId>org.mybatis.spring.boot</groupId>
				<artifactId>mybatis-spring-boot-starter</artifactId>
				<version>1.3.0</version>
			</dependency>
			<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis-spring</artifactId>
				<version>${mybatis.spring.version}</version>
			</dependency>
			<!-- MySQL -->
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql.connector.version}</version>
			</dependency>
			<!-- MySQL Druid -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>druid</artifactId>
				<version>${druid.version}</version>
			</dependency>
			<!-- EhCache -->
			<dependency>
				<groupId>org.ehcache</groupId>
				<artifactId>ehcache</artifactId>
				<version>${ehcache.version}</version>
			</dependency>
		</dependencies>

	</project>

2. 集成Mybatis

	mybatis:
	  mapper-locations: classpath:mappers/*.xml
	  type-aliases-package: com.geek.*.dto

3. 集成EhCache
	<?xml version="1.0" encoding="UTF-8"?>
	<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			 xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
			 updateCheck="false">

		<defaultCache
				eternal="false"
				maxElementsInMemory="1000"
				overflowToDisk="false"
				diskPersistent="false"
				timeToIdleSeconds="0"
				timeToLiveSeconds="600"
				memoryStoreEvictionPolicy="LRU"/>
		<cache
				name="users"
				eternal="false"
				maxElementsInMemory="100"
				overflowToDisk="false"
				diskPersistent="false"
				timeToIdleSeconds="0"
				timeToLiveSeconds="300"
				memoryStoreEvictionPolicy="LRU"/>
	</ehcache>

java中使用注解

	@Override
    @Cacheable(value="users",key="'user_'+#id")
    public User getUserById(Long id) {
        return userMapper.selectByPrimaryKey(id);
    }

    @Override
    @CacheEvict(value="users",allEntries=true)
    public int saveUser(User user) {
        return userMapper.insertSelective(user);
    }
4. durid 使用

WebServlet 配置


@WebServlet(urlPatterns = "/druid/*",
        initParams={
                @WebInitParam(name="allow",value=""),// IP白名单 (没有配置或者为空,则允许所有访问, 逗号分隔)
                @WebInitParam(name="deny",value=""),// IP黑名单 (存在共同时,deny优先于allow)
                @WebInitParam(name="loginUsername",value="admin"),// 用户名
                @WebInitParam(name="loginPassword",value="admin"),// 密码
                @WebInitParam(name="resetEnable",value="false")// 禁用HTML页面上的“Reset All”功能
        })
public class DruidController extends StatViewServlet {

}

Filter 配置

@WebFilter(filterName="druidWebStatFilter",urlPatterns="/*",
        initParams={
                @WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")// 忽略资源
        })
public class DruidStatFilter extends WebStatFilter {
}

三、效果图如下:

增加数据

第一次执行

第二次执行

四、程序目录结构

五、其他补充

springBoot介绍
百度百科:https://baike.baidu.com/item/Spring Boot/20249767?fr=aladdin
spring官方:https://projects.spring.io/spring-boot/
SpringBoot 框架整合

代码地址如下:
http://www.demodashi.com/demo/12522.html

注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权

原文地址:https://www.cnblogs.com/demodashi/p/8512823.html