自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 收藏
  • 关注

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(十四)整合Spring Security

在这一节,我们将对/hello页面进行权限控制,必须是授权用户才能访问。当没有权限的用户访问后,跳转到登录页面。添加依赖在pom.xml中添加如下配置,引入对Spring Security的依赖。<dependencies> ... <dependency> <groupId>org.springframework...

2018-03-09 10:25:22 600 2

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(十三)使用Spring Security安全控制

准备工作首先,构建一个简单的Web工程,以用于后续添加安全控制,也可以用之前Chapter3-1-2做为基础工程。若对如何使用Spring Boot构建Web应用,可以先阅读《Spring Boot开发Web应用》一文。Web层实现请求映射@Controllerpublic class HelloController { @RequestMapping("/") public ...

2018-03-09 10:20:21 319 1

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(十二)返回JSON格式

在上述例子中,通过@ControllerAdvice统一定义不同Exception映射到不同错误处理页面。而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这时候我们也能轻松支持。本质上,只需在@ExceptionHandler之后加入@ResponseBody,就能让处理函数return的内容转换为JSON格式。下面以一个具体示例来实现返回JSON格式的...

2018-03-09 10:19:13 357 3

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(十一)Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。选择一个之前实现过的Web应用(Chapter3-1-2)为基础,启动该应用,访问一个不存在的URL,或是修改处理内容,直接抛出异常,如:@RequestMapping("/hello"...

2018-03-09 10:17:53 383 4

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(十)使用Swagger2构建强大的RESTful API文档(2)

添加文档内容在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。@RestController@RequestMa...

2018-03-09 10:15:36 322 5

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(九)使用Swagger2构建强大的RESTful API文档(1)

由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android开...

2018-03-08 10:02:34 321 1

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(八)开发Web应用(2)

在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面。@Controllerpublic class HelloController { @RequestMapping("/") public String index(ModelMap map) { // 加入一个属性,用来在模板中读取 ...

2018-03-08 10:01:07 252 1

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(七)开发Web应用(1)

静态资源访问在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。默认配置Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static/public/resources/META-INF/resources举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件。启动程序后,尝试访问h...

2018-03-08 09:59:49 273 2

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(六)RESTful API单元测试

下面针对该Controller编写测试用例验证正确性,具体如下。当然也可以通过浏览器插件等进行请求提交验证。 @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = MockServletContext.class) @WebAppConfiguration public class...

2018-03-08 09:58:31 216 2

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(五)构建RESTful API

首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。@Controller:修饰class,用来创建处理http请求的对象@RestController:Spring4之后加入的注解,原来在@Controller中返回json...

2018-03-08 09:57:19 250 3

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(四)属性配置文件详解(2)

通过命令行设置属性值相信使用过一段时间Spring Boot的用户,一定知道这条命令:java -jar xxx.jar --server.port=8888,通过使用–server.port属性来设置xxx.jar应用的端口为8888。在命令行运行时,连续的两个减号--就是对application.properties中的属性值进行赋值的标识。所以,java -jar xxx.jar --ser...

2018-03-07 10:54:48 261

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中...

2018-03-07 10:53:28 433 2

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(二)使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程

在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建。而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过《Spring Boot快速入门》一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式。本文我们将介绍嵌入的Intellij中的Spri...

2018-03-07 10:50:51 308 1

原创 Spring Cloud Spring Boot mybatis分布式微服务云架构(一)快速入门

快速入门本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。系统要求:Java 7及以上Spring Framework 4.1.5及以上本文采用Java 1.8.0_73、Spring Boot 1.3.2调试通过。使用Maven构建项目通过SPRING INITIALI...

2018-03-07 10:49:22 434 3

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十八)Restdoc生成api文档

Restdoc,通过单元测试生成api文档restdocs是通过单元测试生存snippets文件,然后snippets根据插件生成htm文档的。建一个单元测试类:@RunWith(SpringRunner.class)@WebMvcTest(HomeController.class)@AutoConfigureRestDocs(outputDir = "target/snippets")pu...

2018-03-06 10:40:28 197 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十七)集成spring cache

创建一个book数据访问层先创建一个实体类public class Book {private String isbn;private String title;public Book(String isbn, String title) { this.isbn = isbn; this.title = title;}….getter ….setter} 创建一个数据访问接...

2018-03-06 10:38:34 206 2

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十六)集成apidoc

一、apidoc简介apidoc通过在你代码的注释来生成api文档的。它对代码没有侵入性,只需要你写好相关的注释即可,并且它仅通过写简单的配置就可以生成高颜值的api接口页面。它基于node.js,所以你需要安装node.js环境。node.js安装,点击这里。这里就不介绍。二、准备工作安装完node.js安装api.doc,它的项目源码:https://github.com/apidoc/api...

2018-03-06 10:35:31 200 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十五)集成swagger2构建Restful API

一、引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version>

2018-03-06 10:33:20 192 2

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十四)用spring Restdocs创建API文档

Restdoc,通过单元测试生成api文档restdocs是通过单元测试生存snippets文件,然后snippets根据插件生成htm文档的。建一个单元测试类:@RunWith(SpringRunner.class)@WebMvcTest(HomeController.class)@AutoConfigureRestDocs(outputDir = "target/snippets")pu...

2018-03-06 10:31:34 213 3

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十三)整合Redis

引入依赖:在pom文件中添加redis依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></depend...

2018-02-28 09:36:32 474 2

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十二)Restdoc生成api文档

准备工作你需要15minJdk 1.8maven 3.0+idea创建工程引入依赖,其pom文件:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...

2018-02-12 10:09:02 192

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十一)构建restful API

引入依赖在pom文件引入mybatis-spring-boot-starter的依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter<artifactI...

2018-02-12 10:06:01 168 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十一)构建restful API

引入依赖在pom文件引入mybatis-spring-boot-starter的依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter<artifactI...

2018-02-12 10:01:15 265

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (二十)整合 beatlsql

整合阶段由于springboot没有对 beatlsql的快速启动装配,所以需要我自己导入相关的bean,包括数据源,包扫描,事物管理器等。在application加入以下代码:@Bean(initMethod = "init", name = "beetlConfig") public BeetlGroupUtilConfiguration getBeetlGroupUtilConfig...

2018-02-12 09:57:49 234 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十九)Spring Boot 自定义配置文件

上面介绍的是我们都把配置文件写到application.yml中。有时我们不愿意把配置都写到application配置文件中,这时需要我们自定义配置文件,比如test.properties:com.forezp.name=forezpcom.forezp.age=12怎么将这个配置文件信息赋予给一个javabean呢?@Configuration@PropertySource(value = ...

2018-02-12 09:53:01 168 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十八)springboot在启动时注入了哪些bean

在程序入口加入:@SpringBootApplicationpublic class SpringbootFirstApplication { public static void main(String[] args) { SpringApplication.run(SpringbootFirstApplication.class, args); } ...

2018-02-11 09:46:37 227

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十七)Spring Boot中的事务管理

快速入门在Spring Boot中,当我们使用了spring-boot-starter-jdbc或spring-boot-starter-data-jpa依赖的时候,框架会自动默认分别注入DataSourceTransactionManager或JpaTransactionManager。所以我们不需要任何额外配置就可以用@Transactional注解进行事务的使用。我们以之前实现的《用spri...

2018-02-09 10:02:22 590 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十六)Spring Boot中使用LDAP来统一管理用户信息

LDAP简介LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都...

2018-02-09 09:58:55 2018 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十五)Spring Boot中使用Flyway来管理数据库版本

Flyway简介Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL(PL/SQL、T-SQL)方式和Java方式,支持命令行客户端等,还提供一系列的插件支持(Maven、Gradle、SBT、ANT等)。官方网站:https://flywaydb.org/本文对于Flyway...

2018-02-09 09:56:16 1131

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十四)Spring Boot中使用MyBatis注解配置详解

传参方式下面通过几种不同传参方式来实现前文中实现的插入操作。使用@Param在之前的整合示例中我们已经使用了这种最简单的传参方式,如下:@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})")int insert(@Param("name") String name, @Param("age") Integer age);这种方...

2018-02-09 09:53:54 179 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十三)Spring Boot整合MyBatis

Spring中整合MyBatis就不多说了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步骤。搜了一下Spring Boot整合MyBatis的文章,方法都比较老,比较繁琐。查了一下文档,实际已经支持较为简单的整合与使用。下面就来详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射。整合MyBatis新建Spring Bo...

2018-02-09 09:50:58 704 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十二)Spring Boot中使用MongoDB数据库

MongoDB简介MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型,也因为他的存储格式也使得它所存储的数据在Nodej...

2018-02-09 09:47:47 254 2

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十一)Spring Boot中使用Redis数据库

使用RedisRedis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。Redis官网Redis中文社区引入依赖Spring Boot提供的数据访问框架Spring Data Redis基于Jedis。可以通过引入spring-boot-starter-redis来配置依赖关系。<dependency> <group...

2018-02-08 10:04:22 390

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (十)Spring Boot多数据源配置与使用(Spring-data-jpa支持)

Spring-data-jpa支持对于数据源的配置可以沿用上例中DataSourceConfig的实现。新增对第一数据源的JPA配置,注意两处注释的地方,用于指定数据源对应的Entity实体和Repository定义位置,用@Primary区分主数据源。@Configuration@EnableTransactionManagement@EnableJpaRepositories( ...

2018-02-08 10:00:32 268

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (九)Spring Boot多数据源配置与使用(JdbcTemplate支持)

之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源。在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,下面基于之前的JdbcTemplate和Spring-data-jpa例子分别...

2018-02-08 09:57:13 646 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (八)Spring Boot中使用Spring-data-jpa让数据访问更简单

在上一篇Spring中使用JdbcTemplate访问数据库 中介绍了一种基本的数据访问方式,结合构建RESTful API和使用Thymeleaf模板引擎渲染Web视图的内容就已经可以完成App服务端和Web站点的开发任务了。然而,在实际开发过程中,对数据库的操作无非就“增删改查”。就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑。为...

2018-02-08 09:52:25 408 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (七)Spring Boot中使用JdbcTemplate访问数据库

本文介绍在Spring Boot基础下配置数据源和通过JdbcTemplate编写数据访问的示例。数据源配置在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式。首先,为了连接数据库需要引入jdbc支持,在pom.xml中引入如下配置:<dependency> <groupId>org.springframework.boot&lt...

2018-02-08 09:46:01 218 2

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (六)Spring Boot中使用Spring Security进行安全控制

准备工作首先,构建一个简单的Web工程,以用于后续添加安全控制,也可以用之前Chapter3-1-2做为基础工程。若对如何使用Spring Boot构建Web应用,可以先阅读《Spring Boot开发Web应用》一文。Web层实现请求映射@Controllerpublic class HelloController { @RequestMapping("/")

2018-02-05 10:11:42 329

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (五)Spring Boot中Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。选择一个之前实现过的Web应用(Chapter3-1-2)为基础,启动该应用,访问一个不存在的URL,或是修改处理内容,直接抛出异常,如:@RequestMapping("/he

2018-02-05 10:06:40 185 1

原创 企业分布式微服务云SpringCloud SpringBoot mybatis (四)Spring Boot开发Web应用

静态资源访问在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。默认配置Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static/public/resources/META-INF/resources举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片

2018-02-05 10:02:40 302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除