1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文集成了一些基础的功能,比如统一返回体.统一异常处理.快速类型转换.参数校验等常用必备功能,并编写了一些单元测试进行验证,今天把国内最流行的ORM框架Mybatis也集成进去.使用的Spring Boot版本为2.3.2.RELEASE. Gitee: https://gitee.com/felord/kono 1.0.0.MYBATIS 分支 GitHub: https://github.com/NotFound403/…
1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎不够系统,所以萌生了从零搭建一个后端脚手架的想法.并把这个过程中的细节思路和之前的一些文章结合起来展现给大家,希望能够实实在在帮助学习Spring Boot的同学,当然能力有限如果有不足之处还请多多指教. 2. 面向的群体 首先,这个定位不是完全没有接触过Spring Boot的初学者,因为Spri…
1. 前言 今天开始搭建我们的kono Spring Boot脚手架,首先会集成Spring MVC并进行定制化以满足日常开发的需要,我们先做一些刚性的需求定制,后续再补充细节.如果你看了本文有什么问题可以留言讨论.多多持续关注,共同学习,共同进步. Gitee: https://gitee.com/felord/kono GitHub: https://github.com/NotFound403/kono 2. 统一返回体 在开发中统一返回数据非常重要.方便前端统一处理.通常设计为以下结构:…
1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文把国内最流行的ORM框架Mybatis也集成了进去.但是很多时候我们希望有一些开箱即用的通用Mapper来简化我们的开发.我自己尝试实现了一个,接下来我分享一下思路.昨天晚上才写的,谨慎用于实际生产开发,但是可以借鉴思路. Gitee: https://gitee.com/felord/kono day03 分支 GitHub: https://github.com/NotFound403/kono day03 分支 2…
1. 前言 文件服务器是一个应用必要的组件之一.最早我搞过FTP,然后又用过FastDFS,接私活的时候我用MongoDB也凑合凑合.现如今时代不同了,开始流行起了OSS. Gitee: https://gitee.com/felord/kono day06 分支 欢迎Star GitHub: https://github.com/NotFound403/kono day06 分支 欢迎Star 2. 什么是OSS 全称为Object Storage Service,也叫对象存储服务,是一种解决…
1. Spring Data Elasticsearch Spring Data Elasticsearch是Spring Data项目的子项目,提供了Elasticsearch与Spring的集成.实现了Spring Data Repository风格的Elasticsearch文档交互风格,让你轻松进行Elasticsearch客户端开发. 2. 个人的一些看法 应粉丝要求特地将Elasticsearch整合到Spring Boot 中去.本来打算整合到kono脚手架中,但是转念一想这样并不…
1. 前言 上一文我们整合了Mybatis Plus,今天我们会把缓存也集成进来.缓存是一个系统应用必备的一种功能,除了在减轻数据库的压力之外.还在存储一些短时效的数据场景中发挥着重大作用,比如存储用户Token.短信验证码等等,目前缓存的选型还是比较多的,EHCACHE.HAZELCAST.CAFFEINE.COUCHBASE以及本文要整合的REDIS.接下来我们将会在kono脚手架项目中集成Spring Cache以及Redis. Gitee: https://gitee.com/felor…
1. 前言 在上一文中我根据Mybatis中Mapper的生命周期手动实现了一个简单的通用Mapper功能,但是遗憾的是它缺乏实际生产的检验.因此我选择更加成熟的一个Mybatis开发增强包.它就是已经获得Gitee获得 6900 star 的Mybatis Plus. Gitee: https://gitee.com/felord/kono day04 分支 GitHub: https://github.com/NotFound403/kono day04 分支 2. Mybatis Plus…
1.6 Spring Boot 2.x 集成 MyBatis 简介 详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射. 完整源码: 1.6.1 创建 spring-boot-mybatis 项目 pom文件如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmln…
1.增加POM依赖 注意pagehelper插件,我重写过,可以到我的这篇文章了解https://www.cnblogs.com/LiveYourLife/p/9176934.html <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1<…
对于软件系统而言,持久化数据到数据库是至关重要的一部分.在 Java 领域,有很多的实现了数据持久化层的工具和框架(ORM).ORM 框架的本质是简化编程中操作数据库的繁琐性,比如可以根据对象生成 SQL 的 Hibernate ,后面 Hibernate 也实现了JPA 的规范,使用 JPA 的方式只需要几行代码即可实现对数据的访问和操作:MyBatis 的前身是 IBATIS 是一个简化和实现了 Java 数据持久化层的开源框架,相对的不同之处可以灵活调试 SQL , MyBatis 流行的…
1.POM文件中加入Shiro和fastJSON依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>com.alibaba</grou…
本节讨论如何使用Spring的异常处理机制,当我们程序出现错误时,以相同的一种格式,把错误信息返回给客户端 1.创建一些自定义异常 public class TipsException extends Exception { private static final long serialVersionUID = 2784987176856514682L; public TipsException(String string) { super(string); } } 2.使用@RestCont…
本节应用Spring对RESTful的支持,使用了如@RestController等注解实现RESTful控制器. 如果对Spring中的RESTful不太明白,请查看相关书籍 1.创建一个数据对象,用来统一RESTful API的返回格式 package com.ltsolution.framework.common.msgmodel; import java.util.HashMap; import java.util.Map; public class AppResult { privat…
开发环境 windows+STS(一个针对Spring优化的Eclipse版本)+Maven+SQLServer 环境部署 1.安装SQLServer(使用版本2008R2) 自行安装,此处略过 2.安装JDK(使用版本1.8.0_172) 参考我的文章 3.安装Maven(使用版本3.5.3) 参考我的文章 4.安装STS(使用版本3.9.4),配置JDK和Maven 参考我的文章…
1.创建项目 得到项目架构 2.测试项目Web功能 默认端口为8080,运行后,输入localhost:8080/index即可访问到网页 到这里,项目构建成功!…
因为现有系统外部接入需要,需要支持三方单点登录.由于系统本身已经是微服务架构,由多个业务独立的子系统组成,所以有自己的用户认证微服务(不是cas,我们基础设施已经够多了,现在能不增加就不增加).但是因为客户和其他接入(公有云网络)原因,无法通过token+redis实现,所以还需要支持外部的cas. 现有认证系统采用shiro实现,业务子系统采用shiro+token假登录实现.现在要支持通过配置设置系统自身的认证子系统是否启用三方cas登录.这样无论是使用自己的认证实现.还是三方CAS,整体流…
spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与周边系统对接联调的效率.但前提条件是,服务和API文档必须是同步更新的,如果不能保证同步,那接口文档就会流于形式,不仅不能起到应有的作用,甚至某些情况下,甚至会误导对接的系统,导致更低效率的沟通. 思路 根据现有的服务定义来自动生成接口文档 实现 1.pom.xml集成springfox-swagg…
Everyone can develop projects independently, quickly and efficiently! spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架 Spring-Boot-Plus是易于使用,快速,高效,功能丰富,开源的spring boot 脚手架. 前后端分离,专注于后端服务 目标 每个人都可以独立.快速.高效地开发项目! 版本库 GITHUB | GITEE 官网 springboot.plus 主要特…
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 spring boot 连接Mysql spring boot配置druid连接池连接mysql spring boot集成mybatis(1) spring boot集成mybatis(2) – 使用pagehelper实现分页 spring boot集成mybatis(3) – mybatis ge…
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 spring boot 连接Mysql spring boot配置druid连接池连接mysql spring boot集成mybatis(1) spring boot集成mybatis(2) – 使用pagehelper实现分页 spring boot集成mybatis(3) – mybatis ge…
上一篇:Spring Boot 如何快速集成 Redis? 前面的分享栈长介绍了如何使用 Spring Boot 快速集成 Redis,上一篇是单机版,也有粉丝留言说有没有 Redis Sentinel 的集成教程,这篇开搞! Redis Sentinel 介绍 Redis Sentinel:哨兵,放哨,看中文名字就知道它是一种 Redis 高可用解决方案,主要是针对 Redis 主从模式实现主从节点监控.故障自动切换. 没有 Redis Sentinel 架构之前,如果主节点挂了,需要运维人员…
简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. Spring Boot 的核心功能 独立运行的Spring 项目 Spring Boot 可以以jar包的形式独立运行,运行一个Spring Boot…
其实这里介绍的东西主要是参考的另外一篇文章,数据库读写分离的. 参考文章就把链接贴出来,里面有那位的代码,简单明了https://gitee.com/comven/dynamic-datasource-demo?spm=5176.100239.blogcont188540.13.iARYDh. 这块内容前前后后总共写了三篇 1. Spring Boot HikariCP 一 ——集成多数据源 2. Spring Boot 动态切换数据源二——负载均衡 3. Spring Boot 动态切换数据源…
上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack,Spring Boot还可以使用Log4j.Log42等作为自己的日志系统.今天就那Log4j2来举例,说明Spring Boot是如何集成其他日志系统的. 添加jar包依赖 上篇提到过,Spring Boot默认使用LogBack,但是我们没有看到显示依赖的jar包,其实是因为所在的jar包spring-…
前言: 最近做的一个项目是用Spring Boot来做的,所以把工作中遇到的一些知识点.问题点整理一下,做成一系列学习文章,供后续学习Spring Boot的同仁们参考,我也是第一次接触Spring Boot,不足之处,请多指教. Intellij IDEA 搭建Spring Boot项目,步骤如下: 1.选择File –> New –> Project –>Spring Initializr,点击Next 2.修改Group.Artifact,点击Next 3.选择Web,以及Spri…
spring boot 2.X集成ES 进行CRUD操作  完整版 内容包括: ========================================================================================= 1.CRUD:单字段查询.复合查询.分页查询.评分查询√ 2.时间范围查询√ 3.GET方法传入时间类型解析不了的问题√ 4.term和match查询的区别√ 5.filter+query查询的区别√ 6.自定义ES的mapping,自定义…
原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/SpringBootDemo Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom.xml可被子模块继承,因此项目只是demo,未考虑太多性能问题,所以将诸多依赖…
现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫stater poms,它可以提供dependency management,也就是依赖管理,引入以后在声明其它dependency的时候就不需要version了.   <parent>   <groupId>org.springframework.boot</groupId>…
开发环境:Myeclipse2017.JDK1.6.Tomcat 8.0.Myeclipse下使用Maven搭建spring boot项目,详细过程如下: 1. New -> Project... -> Maven Project 2. Next, 选择Use default Workspace location. 3. Next, 选择“maven-archetype-webapp”创建一个webapp目录结构的项目 4. 填Group Id,Artifact Id,和Package(请参考…