一.前言 上篇介绍了 Redis 的集成过程,可用于解决热点数据访问的性能问题.随着业务复杂度的提高,单体应用越来越庞大,就好比一个类的代码行数越来越多,分而治之,切成多个类应该是更好的解决方法,所以一个庞大的单体应用分出多个小应用也更符合这种分治的思想.于是乎微服务化的概念油然而生,微服务化的第一步就是选择适用的分布式服务框架,基于团队成员有使用过「 Dubbo 」的经验,我们放弃了完全陌生的「 Spring Cloud 」.本篇将主要介绍在 Spring Boot 中集成 Dubbo 的过程…
0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 搭建 MyBatis 2.1 修改pom.xml,添加一下依赖 <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-…
一.前言 上篇介绍了 Spring Boot Maven 多模块项目的搭建方法以及 MyBatis 的集成.通常在调试接口或者排查问题时我们主要借助于日志,一个设计合理的日志文件配置能大大降低我们的排查难度,本篇主要介绍 Logback 集成步骤. 二.集成 Logback 2.1 引入依赖包 其实 Spring Boot 提供的父工程中已经包含了所依赖的 Logback jar 包,可通过项目父 pom 中的 「spring-boot-starter-parent」>> 「spring-bo…
一.前言 上篇介绍了 Spring Boot 集成 Dubbo,使我们的系统打下了分布式的基础.随着程序功能的日益复杂,程序的配置日益增多:各种功能开关.参数配置.服务器地址等:对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境.分集群管理配置,完善的权限.审核机制等:在这样的大环境下,传统的通过配置文件.数据库等方式已经越来越无法满足开发人员对配置管理的需求.分布式配置中心应运而生.本篇将主要介绍分布式配置中心 Apollo 的集成过程. 二.部署 Apollo ① 部署教程见…
一.前言 上篇介绍了 Logback 的集成过程,总体已经达到了基本可用的项目结构.本篇主要介绍两个常用工具,接口文档工具 Swagger .项目监控工具 JavaMelody 的集成步骤. 二.Swagger 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染变成了前端渲染.前后端分离的形态.前后端唯一的联系变成了 API 接口,API 文档成了前后端开发人员联系的纽带,Swagger 就是一款让我们更好书写 API 文档的框架. 2.1 为什么要用 Swagger 在日常开发过程中,…
一.前言 上篇介绍了接口文档工具 Swagger 及项目监控工具 JavaMelody 的集成过程,使项目更加健壮.在 JAVA Web 项目某些场景中,我们需要用缓存解决如热点数据访问的性能问题,业界常用的中间件如 Memcached . Redis 等.相比 Memcached ,Redis 支持更丰富的数据结构.本篇将主要介绍在 Spring Boot 中集成 Redis 的过程. 二.集成 Redis 在 Spring Boot 中使用 Redis 有两种方式: 基于 RedisTemp…
一.前言 最近公司项目准备开始重构,框架选定为 Spring Boot ,本篇主要记录了在 IDEA 中搭建 Spring Boot Maven 多模块项目的过程. 二.软件及硬件环境 macOS Sierra 10.12.6 IntelliJ IDEA 2018.2 JDK 1.8 Maven 3.2.1 Spring Boot 2.0.4 三.项目结构 biz 层(业务逻辑层) dao 层(数据持久层) common 层(公用组件层) web 层(请求处理层) 注:biz 层依赖 dao 及…
最近经常被读者问到有没有 Spring Boot 实战项目可以学习,于是,我就去 Github 上找了 10 个我觉得还不错的实战项目.对于这些实战项目,有部分是比较适合 Spring Boot 刚入门的朋友学习的,还有一部分可能要求你对 Spring Boot 相关技术比较熟悉.需要的朋友可以根据个人实际情况进行选择.如果你对 Spring Boot 不太熟悉的话,可以看我最近开源的 springboot-guide:https://github.com/Snailclimb/springbo…
上一篇文章中介绍了Shiro 查看 将Shiro集成到spring boot的步骤: (1)定义一个ShiroConfig,配置SecurityManager Bean,SecurityManager为Shiro的安全管理器,管理着所有Subject (2)在ShiroConfig中配置ShiroFilterFactoryBean,其为Shiro过滤器工厂类,依赖于SecurityManager (3)自定义Realm实现,Realm包含doGetAuthorizationInfo()和doGe…
上一篇文章,实现了用户验证 查看,接下来实现下权限控制 权限控制,是管理资源访问的过程,用于对用户进行的操作授权,证明该用户是否允许进行当前操作,如访问某个链接,某个资源文件等 Apache Shiro 通过继承AuthorizingRealm自定义实现ShiroRealm类,实现 doGetAuthenticationInfo()方法完成用户认证,实现doGetAuthorizationInfo()方法完成权限控制 ShiroRealm 涉及到:  principal:主体,就是登陆的当前用户…