- 前言
- 第一部分 基础应用开发
- 第 1 章 Spring Boot 入门
- 第 2 章 在 Spring Boot 中使用数据库
- 第 3 章 Spring Boot 界面设计
- 第 4 章 提高数据库访问性能
- 第 5 章 Spring Boot 安全设计
- 第二部分 分布式应用开发
- 第 6 章 Spring Boot SSO
- 第 7 章 使用分布式文件系统
- 第 8 章 云应用开发
- 第 9 章 构建高性能的服务平台
- 第三部分 核心技术源代码分析
- 第 10 章 Spring Boot 自动配置实现原理
- 第 11 章 Spring Boot 数据访问实现原理
- 第 12 章 微服务核心技术实现原理
- 附录 A 安装 Neo4j
- 附录 B 安装 MongoDB
- 附录 C 安装 Redis
- 附录 D 安装 RabbitMQ
- 结束语
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
4.4 Web 应用模块
对于上面一些功能的实现,最后使用一个 Web 应用来调用,以验证使用 Druid 连接池和使用 Redis 缓存的效果,同时可以体验使用 JPA 扩展接口更为丰富的功能。
4.4.1 引用数据管理模块
实例工程中的 Web 应用模块将引用数据管理模块,而数据管理模块使用了第 2 章实例工程中 MySQL 模块的实体-关系模型设计,即使用部门、用户和角色三个实体,如图 4-4 所示。实体的建模还与第 2 章中使用的方法一样,没有做任何修改。至于实体的持久化,如前所述,只要在原来的持久化中改变资源库接口定义中继承于自定义的扩展接口即可。
图 4-4 实体-关系模型设计
4.4.2 Web 应用配置
Web 应用的界面设计使用第 3 章的设计来实现。这里,主要实现对部门、用户和角色三个实体的数据进行增删查改的管理。
在 Web 应用模块的配置文件 application.yml 中,配置连接 MySQL 和 Redis 服务器的一些参数,如代码清单 4-17 所示。
代码清单 4-17 Web 应用配置
server: port: 80 tomcat: uri-encoding: UTF-8 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:// localhost:3306/test?characterEncoding=utf8 username: root password: 12345678 # 初始化大小,最小,最大 initialSize: 5 minIdle: 5 maxActive: 20 # 配置获取连接等待超时的时间 maxWait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中的最小生存时间,单位是毫秒 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false # 打开 PSCache,并且指定每个连接上 PSCache 的大小 poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 # 配置监控统计拦截的 filters,去掉后监控界面 SQl 将无法统计, 'wall'用于防火墙 filters: stat,wall,log4j # 通过 connectProperties 属性来打开 mergeSql 功能;慢 SQL 记录 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # 合并多个 DruidDataSource 的监控数据 #useGlobalDataSourceStat=true jpa: database: MYSQL show-sql: true ## Hibernate ddl auto (validate|create|create-drop|update) hibernate: ddl-auto: update naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy properties: hibernate: dialect: org.hibernate.dialect.MySQL5Dialect ## redis redis: host: 192.168.1.214 port: 6379 pool: max-idle: 8 min-idle: 0 max-active: 8 max-wait: -1
启动应用后,运行效果如图 4-5 所示。除了分页数据没有做缓存之外,其他查询都做了缓存处理。在控制台上可以看到执行的 SQL 查询语句,一个查询,比如查看用户,如果在控制台上没有看到输出查询语句,就可以说明是调用了 Redis 缓存。
关于使用缓存的情况,也可以登录安装 Redis 的服务器,使用下列指令,查看当前所有的 key。
#redis-cli >keys *
下载一个 Redis 客户端,可以更加直观地查看 Redis 服务器的情况,如图 4-6 所示。
图 4-5 Web 应用运行效果
图 4-6 Redis 客户端
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论