一.项目介绍(本项目用的编程语言是jdk8,项目源码:https://github.com/zhzhair/spring-boot-druid.git) 1.引入pom依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <…
环境: <java.version>1.8</java.version><spring-boot.version>2.0.4.RELEASE</spring-boot.version><spring-cloud.version>Finchley.SR1</spring-cloud.version><lcn.last.version>4.2.1</lcn.last.version> 一.首先说在spring cl…
 一.Spring Secutity简介     Spring 是一个非常流行和成功的 Java 应用开发框架.Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案.一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分.用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统.用户认证一般要求用户提供用户名和密码.系统通过校验用户名和密码来完成认证过程.用户…
Spring Boot2.0.0.RELEASE正式发布,在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring Boot官方又赶紧把 GitHub 上发布的 v2.0.0.RELEASE 版本进行了撤回.到了下午将问题修复后,又重新进行了上传,至此Spring Boot2.0正式推出! 要知道这是Spring Boot1.0发布4年之后第一次重大修订,因此有多的新功能和特性值得大家期待!在Spring Bo…
首先Spring 事务分类 1.声明事务  原理:基于编程事务的 2.编程事务  指定范围 扫包去解决 3.事务原理:AOP技术   通过环绕通知进行了拦截 使用Spring 事务注意事项: 不要try catch , 因为要将异常抛给外层 Spring Boot 已经默认开启了事务了~  Springboot默认集成事物,只主要在方法上加上@Transactional即可    我们可以自己封装事务 照着抄就行~ Spring Boot2.0之后Spring都是5.0版本啦…
github地址:https://github.com/hankuikuide/microservice-spring-security-oauth2 项目介绍 该项目是一个演示项目,主要演示了,基于spring boot2.0+spring security +oauth2.0+ jwt构建的,单点登录SSO和统一认证和授权的微服务架构项目 该项目是一个多模块项目: authorization-server:是一个认证服务器 通常情况下,认证服务器也是一个资源服务器用于向其他服务提供用户及权限…
所有功能完成 配置登录认证 配置拦截器 在spring boot2.0 之后 通过继承这个WebMvcConfigurer类 就可以完成拦截 新建包com.example.interceptor; 创建login拦截类 package com.example.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndV…
在Spring Boot2.0+的版本中,只要用户自定义了拦截器,则静态资源会被拦截.但是在spring1.0+的版本中,是不会拦截静态资源的. 因此,在使用Spring Boot2.0+时,配置拦截器之后,我们要把静态资源的路径加入到不拦截的路径之中. @Configuration public class InterceptorConfig implements WebMvcConfigurer { @Override public void addInterceptors(Intercep…
1.基础配置 开发环境:window jdk版本:1.8(spring boot2.0最低要求1.8) 开发工具:eclipse 构建方式:maven3 2.POM配置文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap…
Kafka 概述 Apache Kafka 是一个分布式流处理平台,用于构建实时的数据管道和流式的应用.它可以让你发布和订阅流式的记录,可以储存流式的记录,并且有较好的容错性,可以在流式记录产生时就进行处理. Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 Kafka 的定义:一个分布式发布-订阅消息传递系统. Kafka 特性 高吞吐量.低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer…
声明: spring boot 1.5 以后,ConfigurationProperties取消locations属性,因此采用PropertySource注解配合使用 根据Spring Boot2.0官方文档,PropertySource注解,只支持properties文件,因此排除 YAML配置 针对二,可考虑新建配置类,自行搜索,不再此次讨论范围 项目路径下具体使用: 1.根目录下新建自定义配置文件夹与properties配置文件 example.name=tom example.wife…
今天把Spring boot版本升级到了2.0后,发现原来的文件上传大小限制设置不起作用了,原来的application.properties设置如下: spring.http.multipart.max-file-size=100mb spring.http.multipart.max-request-size=1000mb Spring boot2.0的设置如下: #设置上传APP的大小限制 spring.servlet.multipart.max-file-size=100Mb sprin…
spring boot 2.0.3启动报错: Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2018-10-24 14:49:06.108 ERROR 14932 --- [ main] o.s.boot.SpringApplication : Application run failed org.springfra…
spring cloud微服务项目搭建 =================================== 示例版本: 1.spring boot 2.0版本 2.开发工具 IntellJ IDEA =================================== 一些特别注意的点: 1.创建spring boot项目 2.在父级项目下创建子级module[这一点曾经纠结了我好久] 3.父子级项目之间建立关系 4.eureka集群的创建 5.打包子级module必须保证父级项目已经打包…
Spring boot监控中心: 针对微服务的服务状态,服务器的内存变化(内存.线程.日志管理等)检测服务配置连接地址是否有用(有些懒加载的情况下,用的时候发现卧槽不能用)模拟访问,懒加载.统计有多少个bean(Spring 容器中的bean).统计Spring MVC 中@RequestMapping(统计接口数) Actuator监控应用(无界面,返回json格式) AdminUi底层使用Actuator监控应用,实现可视化界面 Actuator是spring boot的一个附加功能,可帮助…
快速搭建spring boot2.0+mybatis+thymeleaf 项目 使用工具STS 3.9.7(eclipse) 首先创建一个spring boot2.0项目(具体创建方法就不写了) 然后再pom文件里加入这些依赖 application.properties配置文件 这里用的是sqlserver数据库  mysql8的是注释掉的 数据库配置文件 实体类 加上getters and setters Controller Service ServiceImpl Dao UserMapp…
在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configuration public class MyMvcConfig extends WebMvcConfigurerAdapter { @Override public void addViewControllers(ViewControllerRegistry registry) { // super.…
在Spring Boot2.0以上配置嵌入式Servlet容器时EmbeddedServletContainerCustomizer类不存在,经网络查询发现被WebServerFactoryCustomizer替代. 2.x版本 @Bean public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){ return new WebServerFactoryCustomi…
1.JVM参数调优   针对运行效果  吞吐量    初始堆内存与最大堆尽量相同   减少垃圾回收次数  2.扫包优化: 启动优化 默认Tomcat容器改为Undertow Tomcat的吞吐量5000左右 Undertow 8000左右  底层优化的好 Tomcat 参数调优 下面聊一聊 扫包优化 @SpringBootApplication 注解底层如何实现的? 它的缺点:  扫包,同级包里面有无用的包.递归遍历包下面的同级或者所有子类 不仅仅是controller.service层.影响到…
一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.说明:      本文综合之前的两篇博文,将mybatis.druid同时集成到spring boot框架,展示集成的步骤和效果. 三.步骤方法: 1.使用IntelliJ IDEA创建spring boot项目(过程略),创建后项目工程如下.   2.配置POM.xml <?xml version="1.0"…
1.项目基础 项目是基于Spring Boot2.x版本的 2.添加依赖 <!-- quartz依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> 3.yml配置 application-quartz.yml的配置内容…
1.使用opv.increment 达到增量的效果[判断某个用户 是第几次做这种操作] @RequestMapping("createCode") @RestController public class CreateCodeController { @Autowired StringRedisTemplate stringRedisTemplate; public static final String TEN_CODE_GLOBAL_KEY_IN_REDIS = "PIS…
本地开发环境 测试环境 实际项目中 区分不同的环境配置文件信息 首先创建三种不同场景下的配置文件: 内容分别是: ###dev http_url="dev" ###prdhttp_url="prd" ###testhttp_url="test" Spring.profiles.active=test        从这里可以看到是测试类的 切换时候切换的就是这个 -后面的 标记 test Java代码: @Value("${http_u…
1.AbstractTransactionalJUnit4SpringContextTests 和AbstractJUnit4SpringContextTests.我们在测试用例类要继承两种中的一个. AbstractTransactionalJUnit4SpringContextTests提供了数据库自动回滚,也就是说测试前和测试后数据库是一样的 AbstractJUnit4SpringContextTests不提供数据库自动回滚,测试会破坏数据库. 查看源码发现,AbstractTransa…
JMeter是Apache软件基金会的产品,用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java 对象,数据库和查询,FTP服务器等等)的性能进行测试.是一款很方便的测试软件. 系统:windows10 家庭版 确保你已安装了jdk环境.网上很多这里就不说了.比如我的是 Jmeter下载 直接网上搜索“”或是使用官方地址:http://jmeter.apache.org/ 安装Jmeter 解压apache-jmeter-4.0.zip到任意文件夹(比如我的是:K:\Progr…
一.环境: Windows: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE Linux(CentOS Linux release 7.2.1511 (Core)): dubbo:dubbo-admin-2.0.0 zookeeper:zookeeper-3.4.10 二.部署zookeeper(集群方式) 准备三台机器或虚拟机,IP为192.168.254.3(节点1).192.168.…
一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.步骤 方式一:利用配置文件配置      1.创建springboot项目,并修改POM.xml配置如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM…
背景介绍 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库.网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录,以供小伙伴们参考. 本文的基于在于会搭建Spring Boot项目的基础上进行的,入门是小白的话,请自行学习相关基础知识,网上或相关书籍很多. 由于我本人对Maven比较熟悉,所以是以Maven进行的.Gradle类似,核心思想都是一样的,实现项目管理工具不同而已. 整合过程 创建Spring Boot…
本节学习在项目中配置文件配置的方式,一种是通过applicaiton.properties,一种是通过application.yml方式. 一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.文件位置 三.application.properties 常见的properties文件配置格式,如下 server.port=8888 # 数据库访问配置 spring.datasou…
框架部分重点在于实现原理,懂原理! 废话不多说,动手干起来! SpringMVC程序入口? 没有配置文件,Spring 容器是如何加载? 回顾我们之前搭建Spring Boot项目使用的pom 引入的依赖需要parent,其作用是支持依赖 快速整合框架 不需要写版本号 还有就是web组件,自动引入springmvc spring-web spring-beans  等等都依赖进来了 SpringBoot是一个快速整合第三方框架,简化XML配置,完全采用注解.内置HTTP服务器(tomcat.je…