- 博客(84)
- 收藏
- 关注
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(四十六)使用RabbitMQ(1)
Message Broker与AMQP简介 Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景: 消息路由到一个或多个目的地 消息转化为其他的表现方式 执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返...
2018-03-12 09:36:00 145
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(四十五)动态修改日志级别(2)...
测试验证 在完成了上面的构建之后,我们启动示例应用,并访问/test端点,我们可以在控制台中看到如下输出: 2017-01-31 22:34:57.123 INFO 16372 --- [nio-8000-exec-1] ication$$EnhancerBySpringCGLIB$$d...
2018-03-12 09:33:00 257
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(四十四)动态修改日志级别(1)...
loggers端点 本文我们就来看看Spring Boot 1.5.x中引入的一个新的控制端点:/loggers,该端点将为我们提供动态修改Spring Boot应用日志级别的强大功能。该功能的使用非常简单,它依然延续了Spring Boot自动化配置的实现,所以只需要在引入了spring...
2018-03-12 09:30:00 265
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(四十三)使用log4j实现http请求日志入mongodb(2)...
配置log4j.properties 设置名为mongodb的logger: 记录INFO级别日志 appender实现为com.didispace.log.MongoAppende mongodb连接地址:mongodb://localhost:27017 mongo...
2018-03-09 10:01:00 132
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(四十二)使用log4j实现http请求日志入mongodb(1)...
准备工作 可以先拿Chapter4-2-4工程为基础,进行后续的实验改造。该工程实现了一个简单的REST接口,一个对web层的切面,并在web层切面前后记录http请求的日志内容。 通过自定义appender实现 思路:log4j提供的输出器实现自Appender接口,要自定义app...
2018-03-09 09:58:00 92
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(四十一)实现Web层的日志切面...
实现AOP的切面主要有以下几个要素: 使用@Aspect注解将一个java类定义为切面类 使用@Pointcut定义一个切入点,可以是一个规则表达式,比如下例中某个package下的所有函数,也可以是一个注解等。 根据需要在切入点不同位置的切入内容 使用@Before在切入...
2018-03-09 09:54:00 113
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(四十)使用AOP统一处理Web请求日志(1)...
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是Spring框架中的一个重要内容,它通过对既有程序定义一个切入点,然后在其前后切入不同的执行内容,比如常见的有:打开数据库连接/关闭...
2018-03-09 09:51:00 197
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十九)对log4j进行多环境不同日志级别的控制...
尝试改造 先以chapter4-2-2工程作为基础工程,我们来进行多环境配置的改造。 创建多环境配置文件 application-dev.properties:开发环境 application-test.properties:测试环境 applica...
2018-03-09 09:48:00 94
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十八)使用log4j记录日志
引入log4j依赖 在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-starter-logging,该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除该包的依赖,...
2018-03-08 09:43:00 98
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十七)日志管理
Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J,Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。 格式化日志 默认的日志输出如...
2018-03-08 09:35:00 107
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十六)使用Redis做集中式缓存(2)...
问题思考 为什么同样的逻辑在EhCache中没有问题,但是到Redis中会出现这个问题呢? 在EhCache缓存时没有问题,主要是由于EhCache是进程内的缓存框架,第一次通过select查询出的结果被加入到EhCache缓存中,第二次查询从EhCache取出的对象与第一次查询对象实际...
2018-03-08 09:33:00 112
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十五)使用Redis做集中式缓存(1)...
准备工作 可以下载案例Chapter4-4-1,进行下面改造步骤。 先来回顾一下在此案例中,我们做了什么内容: 引入了spring-data-jpa和EhCache 定义了User实体,包含id、name、age字段 使用spring-data-jpa实现了对User对象...
2018-03-08 09:31:00 142
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十四)注解配置与EhCache使用(2)...
Cache注解详解 回过头来我们再来看,这里使用到的两个注解分别作了什么事情。 @CacheConfig:主要用于配置该类中会用到的一些共用的缓存配置。在这里@CacheConfig(cacheNames = "users"):配置了该数据访问对象中返回的内容将存储于名为user...
2018-03-08 09:28:00 111
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十三)注解配置与EhCache使用(1)...
快速入门 首先,下载样例工程chapter3-2-2。本例通过spring-data-jpa实现了对User用户表的一些操作,若没有这个基础,可以先阅读《使用Spring-data-jpa简化数据访问层》一文对数据访问有所基础。 准备工作 为了更好的理解缓存,我们先对该工程做一些简单...
2018-03-07 10:16:00 115
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十二)事务管理(2)
事务详解 上面的例子中我们使用了默认的事务配置,可以满足一些基本的事务需求,但是当我们项目较大较复杂时(比如,有多个数据源等),这时候需要在声明事务时,指定不同的事务管理器。对于不同数据源的事务管理配置可以见《Spring Boot多数据源配置与使用》中的设置。在声明事务时,只需要通过va...
2018-03-07 10:12:00 229
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十一)事务管理(1)
我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作数据的并不可靠,需要在这种情况下进行回退。 事务的作用就是为了保证用户的每一个操...
2018-03-07 10:09:00 77
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(三十)LDAP来管理用户信息(2)...
使用spring-data-ldap的基础用法,定义LDAP中属性与我们Java中定义实体的关系映射以及对应的Repository @Data@Entry(base = "ou=people,dc=didispace,dc=com", objectClasses = "inetOrgP...
2018-03-07 10:03:00 211
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十九)LDAP来管理用户信息(1)...
LDAP简介 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂...
2018-03-07 09:59:00 129
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十八)使用Flyway来管理数据库版本...
在上面的使用JdbcTemplate一文中,主要通过spring提供的JdbcTemplate实现对用户表的增删改查操作。在实现这个例子的时候,我们事先在MySQL中创建了用户表。创建表的过程我们在实际开发系统的时候会经常使用,但是一直有一个问题存在,由于一个系统的程序版本通过git得到了很好...
2018-03-06 10:17:00 327
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十七)使用MyBatis注解配置详解(2)...
增删改查 MyBatis针对不同的数据库操作分别提供了不同的注解来进行配置,在之前的示例中演示了@Insert,下面针对User表做一组最基本的增删改查作为示例: public interface UserMapper { @Select("SELECT * FROM user...
2018-03-06 10:11:00 99
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十六)使用MyBatis注解配置详解(1)...
之前在Spring Boot中整合MyBatis时,采用了注解的配置方式,相信很多人还是比较喜欢这种优雅的方式的,也收到不少读者朋友的反馈和问题,主要集中于针对各种场景下注解如何使用,下面就对几种常见的情况举例说明用法。 传参方式 下面通过几种不同传参方式来实现前文中实现的插入操作。 ...
2018-03-06 10:09:00 109
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十五)整合MyBatis
Spring中整合MyBatis就不多说了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步骤。搜了一下Spring Boot整合MyBatis的文章,方法都比较老,比较繁琐。查了一下文档,实际已经支持较为简单的整合与使用。下面就来详细介绍如何在S...
2018-03-06 10:04:00 86
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十四)使用MongoDB数据库(2)...
快速开始使用Spring-data-mongodb 若MongoDB的安装配置采用默认端口,那么在自动配置的情况下,我们不需要做任何参数配置,就能马上连接上本地的MongoDB。下面直接使用spring-data-mongodb来尝试对mongodb的存取操作。(记得mongod启动您的m...
2018-03-06 10:00:00 108
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十三)使用MongoDB数据库(1)...
MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。 MongoDB支持的数据结构非常松...
2018-03-05 10:29:00 147
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十二)使用Redis数据库(2)...
除了String类型,实战中我们还经常会在Redis中存储对象,这时候我们就会想是否可以使用类似RedisTemplate<String, User>来初始化并进行操作。但是Spring Boot并不支持直接使用,需要我们自己实现RedisSerializer<T>接口...
2018-03-05 10:25:00 109
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十一)使用Redis数据库(1)...
Spring Boot中除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, Elasticsearch, Solr和Cassandra。 使用Redis Redis是一个开源的使用ANSI C语言编...
2018-03-05 10:17:00 80
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(二十)多数据源配置与使用(2)...
Spring-data-jpa支持 对于数据源的配置可以沿用上例中DataSourceConfig的实现。 新增对第一数据源的JPA配置,注意两处注释的地方,用于指定数据源对应的Entity实体和Repository定义位置,用@Primary区分主数据源。 @Configuratio...
2018-03-05 10:13:00 87
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十九)多数据源配置与使用(1)...
之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源。在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,...
2018-03-05 10:10:00 120
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十八)使用Spring-data-jpa(2)
创建实体 创建一个User实体,包含id(主键)、name(姓名)、age(年龄)属性,通过ORM框架其会被映射到数据库表中,由于配置了hibernate.hbm2ddl.auto,在应用启动的时候框架会自动去数据库中创建对应的表。 @Entitypublic class User {...
2018-03-02 09:29:00 96
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十七)使用Spring-data-jpa(1)
在实际开发过程中,对数据库的操作无非就“增删改查”。就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑。 为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:Hibernate。通过整合Hibernate之后...
2018-03-02 09:26:00 75
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十六)使用JdbcTemplate操作数据库...
使用JdbcTemplate操作数据库 Spring的JdbcTemplate是自动配置的,你可以直接使用@Autowired来注入到你自己的bean中来使用。 举例:我们在创建User表,包含属性name、age,下面来编写数据访问对象和单元测试用例。 定义包含有插入、删除、查...
2018-03-02 09:21:00 154
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十五)通过JdbcTemplate编写数据访问...
数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式。 首先,为了连接数据库需要引入jdbc支持,在pom.xml中引入如下配置: <dependency> <groupId>org.springframew...
2018-03-02 09:15:00 102
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十四)整合Spring Security
在这一节,我们将对/hello页面进行权限控制,必须是授权用户才能访问。当没有权限的用户访问后,跳转到登录页面。 添加依赖 在pom.xml中添加如下配置,引入对Spring Security的依赖。 <dependencies> ... <d...
2018-03-02 08:57:00 89
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十三)使用Spring Security安全控制...
准备工作 首先,构建一个简单的Web工程,以用于后续添加安全控制,也可以用之前Chapter3-1-2做为基础工程。若对如何使用Spring Boot构建Web应用,可以先阅读《Spring Boot开发Web应用》一文。 Web层实现请求映射 @Controllerpublic ...
2018-03-02 08:54:00 152
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十二)返回JSON格式
在上述例子中,通过@ControllerAdvice统一定义不同Exception映射到不同错误处理页面。而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这时候我们也能轻松支持。 本质上,只需在@ExceptionHandler之后加入@Respo...
2018-03-01 09:00:00 150
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十一)Web应用的统一异常处理...
我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。 选择一个之前实现过的Web应用(Chapter3-1-2)为基础,启动该应用...
2018-03-01 08:56:00 125
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(十)使用Swagger2构建强大的RESTful API文档(2)...
添加文档内容 在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParam...
2018-03-01 08:53:00 142
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(九)使用Swagger2构建强大的RESTful API文档(1)...
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。 ...
2018-03-01 08:51:00 153
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(八)开发Web应用(2)
在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面。 @Controllerpublic class HelloController { @RequestMapping("/") public String in...
2018-03-01 08:46:00 135
转载 Spring Cloud Spring Boot mybatis分布式微服务云架构(七)开发Web应用(1)
静态资源访问 在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static /public /resources /META-I...
2018-03-01 08:42:00 76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人