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大师代发,拒绝转载,转载需要作者授权

posted on   demo例子集  阅读(576)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示