02 2018 档案

摘要:Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhCache、 Hazelcast、 Guava、 Redis 等。在使用 Spring 集成 Cache 的时候,我们需要注册实现的 CacheManager 的 Bean。 Spri 阅读全文
posted @ 2018-02-26 10:43 abbie265 阅读(485) 评论(0) 推荐(5)
摘要:构建工程 创建一个Springboot工程,在它的程序入口加上@EnableScheduling,开启调度任务。 创建定时任务 创建一个定时任务,每过5s在控制台打印当前时间。 通过在方法上加@Scheduled注解,表明该方法是一个调度任务。 @Scheduled(fixedRate = 5000 阅读全文
posted @ 2018-02-23 10:36 abbie265 阅读(344) 评论(0) 推荐(5)
摘要:构建工程 为例创建一个springmvc工程你需要spring-boot-starter-thymeleaf和 spring-boot-starter-web的起步依赖。为例能够上传文件在服务器,你需要在web.xml中加入标签做相关的配置,但在sringboot 工程中,它已经为你自动做了,所以不 阅读全文
posted @ 2018-02-23 10:34 abbie265 阅读(414) 评论(0) 推荐(5)
摘要:apidoc是基于注释来生成文档的,它不基于任何框架,而且支持大多数编程语言,为了springboot系列的完整性,所以标了个题。 一、apidoc简介 apidoc通过在你代码的注释来生成api文档的。它对代码没有侵入性,只需要你写好相关的注释即可,并且它仅通过写简单的配置就可以生成高颜值的api 阅读全文
posted @ 2018-02-23 10:32 abbie265 阅读(875) 评论(0) 推荐(5)
摘要:swagger,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api,简单优雅帅气,正如它的名字。 一、引入依赖 二、写配置类 通过@Configuration注解,表明它是一个 阅读全文
posted @ 2018-02-23 10:28 abbie265 阅读(443) 评论(1) 推荐(5)
摘要:Restdoc,通过单元测试生成api文档 restdocs是通过单元测试生存snippets文件,然后snippets根据插件生成htm文档的。 建一个单元测试类: 其中,@ AutoConfigureRestDocs注解开启了生成snippets文件,并指定了存放位置。 启动单元测试,测试通过, 阅读全文
posted @ 2018-02-23 10:26 abbie265 阅读(293) 评论(2) 推荐(5)
摘要:创建一个book数据访问层 先创建一个实体类 创建一个数据访问接口 这个你可以写一个很复杂的数据查询操作,比如操作mysql、nosql等等。为了演示这个栗子,我只做了一下线程的延迟操作,当作是查询数据库的时间。 实现接口类: 测试类 启动程序,你会发现程序在控制台依次打印了: 你会发现程序依次3s 阅读全文
posted @ 2018-02-12 10:21 abbie265 阅读(259) 评论(0) 推荐(0)
摘要:一、apidoc简介 apidoc通过在你代码的注释来生成api文档的。它对代码没有侵入性,只需要你写好相关的注释即可,并且它仅通过写简单的配置就可以生成高颜值的api接口页面。它基于node.js,所以你需要安装node.js环境。node.js安装,点击这里。这里就不介绍。 二、准备工作 安装完 阅读全文
posted @ 2018-02-12 10:20 abbie265 阅读(294) 评论(0) 推荐(0)
摘要:一、引入依赖 二、写配置类 通过@Configuration注解,表明它是一个配置类,@EnableSwagger2开启swagger2。apiINfo()配置一些基本的信息。apis()指定扫描的包会生成文档。 三、写生产文档的注解 swagger通过注解表明该接口会生成文档,包括接口名、请求方法 阅读全文
posted @ 2018-02-12 10:18 abbie265 阅读(286) 评论(1) 推荐(0)
摘要:Restdoc,通过单元测试生成api文档 restdocs是通过单元测试生存snippets文件,然后snippets根据插件生成htm文档的。 建一个单元测试类: 其中,@ AutoConfigureRestDocs注解开启了生成snippets文件,并指定了存放位置。 启动单元测试,测试通过, 阅读全文
posted @ 2018-02-12 10:17 abbie265 阅读(312) 评论(1) 推荐(0)
摘要:引入依赖: 在pom文件中添加redis依赖: 配置数据源 如果你的redis有密码,配置下即可。经过上述两步的操作,你可以访问redis数据了。 数据访问层dao 通过redisTemplate来访问redis. 单元测试 启动单元测试,你发现控制台打印了:单元测试通过; 源码来源 阅读全文
posted @ 2018-02-12 10:15 abbie265 阅读(516) 评论(1) 推荐(0)
摘要:准备工作 你需要15min Jdk 1.8 maven 3.0+ idea 创建工程 引入依赖,其pom文件: 通过@SpringBootApplication,开启springboot 在springboot通常创建一个controller: 启动工程,访问localhost:8080,浏览器显示 阅读全文
posted @ 2018-02-11 10:44 abbie265 阅读(625) 评论(1) 推荐(0)
摘要:引入依赖 在pom文件引入mybatis-spring-boot-starter的依赖: 引入数据库连接依赖: 引入数据源 application.properties配置文件中引入数据源: 这样,springboot就可以访问数据了。 创建数据库表 建表语句: dao层 service层 cont 阅读全文
posted @ 2018-02-11 10:41 abbie265 阅读(386) 评论(0) 推荐(0)
摘要:整合阶段 由于springboot没有对 beatlsql的快速启动装配,所以需要我自己导入相关的bean,包括数据源,包扫描,事物管理器等。 在application加入以下代码: 在resouces包下,加META_INF文件夹,文件夹中加入spring-devtools.properties: 阅读全文
posted @ 2018-02-11 10:39 abbie265 阅读(472) 评论(1) 推荐(0)
摘要:上面介绍的是我们都把配置文件写到application.yml中。有时我们不愿意把配置都写到application配置文件中,这时需要我们自定义配置文件,比如test.properties: 怎么将这个配置文件信息赋予给一个javabean呢? 在最新版本的springboot,需要加这三个注解。 阅读全文
posted @ 2018-02-11 10:37 abbie265 阅读(359) 评论(1) 推荐(0)
摘要:在程序入口加入: 程序输出: 在程序启动的时候,springboot自动诸如注入了40-50个bean. 通过@RunWith() @SpringBootTest开启注解: 运行它会先开启sprigboot工程,然后再测试,测试通过 源码来源 阅读全文
posted @ 2018-02-11 10:35 abbie265 阅读(438) 评论(1) 推荐(0)
摘要:快速入门 在Spring Boot中,当我们使用了spring-boot-starter-jdbc或spring-boot-starter-data-jpa依赖的时候,框架会自动默认分别注入DataSourceTransactionManager或JpaTransactionManager。所以我们 阅读全文
posted @ 2018-02-09 10:20 abbie265 阅读(1670) 评论(0) 推荐(4)
摘要:LDAP简介 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力 阅读全文
posted @ 2018-02-09 10:14 abbie265 阅读(347) 评论(0) 推荐(5)
摘要:Flyway简介 Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL(PL/SQL、T-SQL)方式和Java方式,支持命令行客户端等,还提供一系列的插件支持(Maven、Gr 阅读全文
posted @ 2018-02-09 10:11 abbie265 阅读(1375) 评论(1) 推荐(5)
摘要:传参方式 下面通过几种不同传参方式来实现前文中实现的插入操作。 使用@Param 在之前的整合示例中我们已经使用了这种最简单的传参方式,如下: 这种方式很好理解,@Param中定义的name对应了SQL中的#{name},age对应了SQL中的#{age}。 使用Map 如下代码,通过Map对象来作 阅读全文
posted @ 2018-02-09 10:08 abbie265 阅读(622) 评论(1) 推荐(5)
摘要:Spring中整合MyBatis就不多说了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步骤。搜了一下Spring Boot整合MyBatis的文章,方法都比较老,比较繁琐。查了一下文档,实际已经支持较为简单的整合与使用。下面就来详细介绍如何在Spri 阅读全文
posted @ 2018-02-09 10:06 abbie265 阅读(763) 评论(1) 推荐(5)
摘要:MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。 MongoDB支持的数据结构非常松散,是类似j 阅读全文
posted @ 2018-02-08 10:19 abbie265 阅读(3146) 评论(0) 推荐(4)
摘要:使用Redis Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。 Redis官网 Redis中文社区 引入依赖 Spring Boot提供的数据访问框架Spring Data Redis基于Jedis。可以通过引入spring-boo 阅读全文
posted @ 2018-02-08 10:17 abbie265 阅读(460) 评论(0) 推荐(4)
摘要:Spring-data-jpa支持 对于数据源的配置可以沿用上例中DataSourceConfig的实现。 新增对第一数据源的JPA配置,注意两处注释的地方,用于指定数据源对应的Entity实体和Repository定义位置,用@Primary区分主数据源。 新增对第二数据源的JPA配置,内容与第一 阅读全文
posted @ 2018-02-08 10:14 abbie265 阅读(932) 评论(1) 推荐(5)
摘要:之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源。在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我 阅读全文
posted @ 2018-02-08 10:12 abbie265 阅读(717) 评论(1) 推荐(6)
摘要:在上一篇Spring中使用JdbcTemplate访问数据库 中介绍了一种基本的数据访问方式,结合构建RESTful API和使用Thymeleaf模板引擎渲染Web视图的内容就已经可以完成App服务端和Web站点的开发任务了。 然而,在实际开发过程中,对数据库的操作无非就“增删改查”。就最为普遍的 阅读全文
posted @ 2018-02-08 10:10 abbie265 阅读(360) 评论(1) 推荐(6)
摘要:本文介绍在Spring Boot基础下配置数据源和通过JdbcTemplate编写数据访问的示例。 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式。 首先,为了连接数据库需要引入jdbc支持,在pom.xml中引入如下配置: 嵌入式数据库支持 嵌入 阅读全文
posted @ 2018-02-07 10:38 abbie265 阅读(907) 评论(0) 推荐(4)
摘要:准备工作 首先,构建一个简单的Web工程,以用于后续添加安全控制,也可以用之前Chapter3-1-2做为基础工程。若对如何使用Spring Boot构建Web应用,可以先阅读《Spring Boot开发Web应用》一文。 Web层实现请求映射 /:映射到index.html /hello:映射到h 阅读全文
posted @ 2018-02-07 10:37 abbie265 阅读(381) 评论(0) 推荐(4)
摘要:我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。 选择一个之前实现过的Web应用(Chapter3-1-2)为基础,启动该应用,访问一 阅读全文
posted @ 2018-02-07 10:34 abbie265 阅读(515) 评论(0) 推荐(5)
摘要:静态资源访问 在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static /public /resources /META-INF/resources 举例:我们 阅读全文
posted @ 2018-02-07 10:32 abbie265 阅读(367) 评论(1) 推荐(5)
摘要:首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。 @Controller:修饰class,用来创建处理http请求的对象 阅读全文
posted @ 2018-02-07 10:29 abbie265 阅读(412) 评论(1) 推荐(6)
摘要:相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都 阅读全文
posted @ 2018-02-07 10:28 abbie265 阅读(340) 评论(2) 推荐(6)
摘要:简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用! Spring Boot让我们的Spring应用变 阅读全文
posted @ 2018-02-06 10:33 abbie265 阅读(978) 评论(0) 推荐(3)
摘要:断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“断路器”能够及时的切断故障电路,防止发生过载、发热、甚至起火等严重后果。 在分布式架构中,断路器模式的作用也是类似的,当某个服务单 阅读全文
posted @ 2018-02-06 10:31 abbie265 阅读(204) 评论(0) 推荐(2)
摘要:依赖隔离 舱壁模式”对于熟悉Docker的读者一定不陌生,Docker通过“舱壁模式”实现进程的隔离,使得容器与容器之间不会互相影响。而Hystrix则使用该模式实现线程池的隔离,它会为每一个Hystrix命令创建一个独立的线程池,这样就算某个在Hystrix命令包装下的依赖服务出现延迟过高的情况, 阅读全文
posted @ 2018-02-06 10:30 abbie265 阅读(198) 评论(1) 推荐(3)
摘要:在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加, 阅读全文
posted @ 2018-02-06 10:29 abbie265 阅读(221) 评论(1) 推荐(3)
摘要:Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息 阅读全文
posted @ 2018-02-06 10:27 abbie265 阅读(594) 评论(1) 推荐(3)
摘要:Spring Cloud Feign Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端。它使得编写Web服务客户端变得更加简单。我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定。它具备可插拔的注解支持,包括Feign注解、JAX- 阅读全文
posted @ 2018-02-05 10:32 abbie265 阅读(286) 评论(0) 推荐(4)
摘要:Spring Cloud Ribbon Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。它是一个基于HTTP和TCP的客户端负载均衡器。它可以通过在客户端中配置ribbonServerList来设置服务端列表去轮询访问以达到均衡负载的作用。 当 阅读全文
posted @ 2018-02-05 10:30 abbie265 阅读(187) 评论(0) 推荐(4)
摘要:使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、这里我们即将介绍的LoadBalancerClient等。对于这些接口的定义我们在上一篇介绍服务注册与发现时已经说过,Spring Clou 阅读全文
posted @ 2018-02-05 10:26 abbie265 阅读(245) 评论(1) 推荐(4)
摘要:Spring Cloud Consul Spring Cloud Consul项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置的工具。它包含了下面几个特性: 服务发现 健康检查 Key/ 阅读全文
posted @ 2018-02-05 10:24 abbie265 阅读(277) 评论(1) 推荐(4)
摘要:Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud包 阅读全文
posted @ 2018-02-05 10:22 abbie265 阅读(416) 评论(1) 推荐(4)