Spring Boot

spring oauth2 +springboot sso

社会主义新天地 提交于 2020-11-01 15:05:36
一、依赖 <dependency> <groupId>org.springframework.security.oauth.boot</groupId> <artifactId>spring-security-oauth2-autoconfigure</artifactId> <version>2.1.6.RELEASE</version> </dependency> 二、服务端 1.服务端需要的是授权与身份验证,通过配置@EnableAuthorizationServer、@EnableWebSecurity、@EnableResourceServer来完成配置。 2.先来配置WebSecurity的配置 package com.example.oauth; import org.springframework.boot.autoconfigure.security.SecurityProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework

吃透Spring全家桶:Spring源码+SpringBoot+SpringCloud实战

痴心易碎 提交于 2020-11-01 13:53:35
一、Spring技术内幕 深入解析Spring架构与设计原理 本书探讨了Spring框架的设计原理、架构和运行机制。作为在Java领域最为成功的开源软件之一,Spring在Java EE开发中,使用者众多。本书以Spring的源代码为依托,结合Spring的设计思路,从内部实现的角度,对Spring的实现进行了翔实的分析,希望能够通过这种分析,使读者在开发者的层面掌握Spring,为开发Spring应用提供更扎实的框架基础。 第一部分Spring核心实现篇 第二部分Spring组 件实现篇 第三部分Spring应用实现篇 Sping源码深度解析 主要从两个部分介绍了spring源码: 核心的实现、企业应用 一、spring核心实现 二、企业应用 二、SpringCloud微服务实战 本书从时下流行的微服务架构概念出发,详细介绍了Spring Cloud针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍,本书主要以示例与源码结合的方式来帮助读者更好地理解这些组件的使用方法以及运行原理。同时,在介绍的过程中,还包含了作者在实践中所遇到的一些问题和解决思路,可供读者在实践中作为参考。 适合所有Java开发人员,尤其适合正在做微服务架构技术选型或正在实施微服务架构的团队查阅和参考 目录 三、Springboot实战实践 《Spring Boot实战

SpringBoot2.X + SpringCache + redis解决乱码问题

烂漫一生 提交于 2020-11-01 05:33:12
环境:SpringBoot2.X + SpringCache + Redis Spring boot默认使用的是SimpleCacheConfiguration,使用ConcurrentMapCacheManager来实现缓存。 配置: spring: redis: host: 192.168.1.192 database: 1 port: 6379 password: 123456 timeout: 1s jedis: pool: max -active: 20 max -idle: 20 min -idle: 10 max -wait: - 1ms cache: redis: use -key-prefix: true key - prefix: dev cache - null -values: false time -to-live: 20s 解决redis保存数据乱码的问题 解决从redis反序列化报错的问题 增加失效时间 @Configuration @ConfigurationProperties(prefix = "spring.cache.redis" ) public class SpringCacheRedisConfig { private Duration timeToLive = Duration.ZERO; public void

JAVA奇技淫巧简化代码之lombok

自作多情 提交于 2020-11-01 00:27:23
背景 最近在做一个小功能,又不想在原有体态臃肿的项目中追加,为了调试方便并且可以快速开发就采用了springboot。由于使用了JPA,建了几个类,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,那么Java中有没有一种方式能够避免这种重复的劳动呢?答案是有,想着前几天听说有一款简化神奇Lombok,特此拿来玩玩记录一下。 简介 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。 官方地址: https://projectlombok.org/ github地址: https://github.com/rzwitserloot/lombok Lombok注解 下面对Lombok的简单使用方法做一下总结: @NotNull 作用在方法参数上的注解,用于自动生成空值参数检查。 @Cleanup 作用在局部变量上,在作用域结束时会自动调用close方法释放资源。 @Getter 作用在字段上,会自动生成字段的Getter;作用在类上,会自动生成该类所有非静态字段的Getter,还能控制Getter的访问级别 @Setter 基本同上。 @ToString 类注解,自动生成类的toString方法,可以做一些定制

【SpringCloud】Ribbon如何自定义客户端配置和全局配置

a 夏天 提交于 2020-10-31 14:49:18
2020博客地址汇总 2019年博客汇总 转载 https://www.cnblogs.com/trust-freedom/p/11216280.html 起因 事情的起因是这样的,公司内部要实现基于Zuul网关的灰度路由,在上线时进行灰度测试,故需要配置业务微服务向Eureka注册的metadata元数据,和自定义Ribbon的负载规则达到只访问灰度服务的目的。这样就需要自定义Ribbon的IRule,实现灰度请求只会负载到带有灰度标签元数据的业务微服务上,当自定义IRule规则开发好后,问题是如何将这个IRule规则配置给某个Ribbon Client或者全局生效。 本次使用Spring Cloud Dalston.SR5版本 在其 官方文档 中其实已经给出了一些如何针对某个Client 或者 修改默认配置的方式,但没有说明为什么这样使用 下面将按照这样的思路分析: 简单分析Spring Cloud Ribbon启动时如何自动配置的,以了解其装配到Spring中的Bean Spring Cloud Ribbon Client的懒加载 Spring Cloud Ribbon Client的配置加载,包含全局配置及Client配置 如何自定义Client配置、全局配置 解释官方文档中的一些注意事项 Spring Cloud Ribbon自动配置

谷歌浏览器不为人知的console调试方法!

这一生的挚爱 提交于 2020-10-31 11:16:48
作者:anran758 https://anran758.github.io/ 导读: 作为一名Java程序员,chrome浏览器是最常打交道的软件之一,那么它的一些调试小技巧你了解多少呢? 目录 console log info, warn, error table group dir count clear time assert chrome devtools $(selector, [startNode]) $$(selector, [startNode]) $ copy(obj) inspect(object/function) getEventListeners(obj) monitor/unmonitor(function) monitorEvents/unmonitorEvents(object[, events]) 别名 console console 是浏览器提供的接口。它是一个对象,在控制台中可以查看当前浏览器支持哪一些方法。下面介绍一些比较实用的 api : log console.log 这可能是学习前端调试技术最基础的第一步了吧,你还记得最开始是从什么地方学习到使用这个方法来调试吗? console .log(obj1 [, obj2, ..., objN); console .log(msg [, subst1, ..., substN);

二面快手,凉在SpringBoot上!

旧街凉风 提交于 2020-10-31 06:03:42
Java 圈内最近对“面试问 Spring” 的吐槽越来越多:不管大小 公司 o r 项 目,面试官都要跟 你扯一扯 Sprin g Boot、微服务 ,如果答不下来,大概率直接说拜拜! 不少互联网企业,像快手、美团、网易这些一线大厂都在用 Spring 来做敏捷开发。尤其有过不少项目经历的技术人,跟 Spring 相处的时间比跟对象相处的时间还要长。“SpringBoot、SSM 框架有什么好问的?”等类似的吐槽频频曝出。 的确, 作为Java 后端开发, 技术更新迭代是相当快, SpringBoot、SringCloud、Dubbo等各种开源框架 对于使用者来说十分友好,只要编程功底良好,较短的时间就能玩转。但如果仅仅止步于此,就有点陷入误区了。 以SpringBoot 为例,它 解决 的问题就是 Spring 依赖和自动配置的问题。 这 对初学者来说非常便捷 ,但一旦涉及到组件的细节配置,其他框架的整合、调优, 改起来就非常吃力,最后只能追源码。 因此,要想把一种技术吃透,仅限于会用是远远不够的。 如何提高代码性能?出现问题如何快速定位和排查?如何高效实现业务整合? 都是开发者需要考虑的问题。 这里分享一个十分干货的技术分享 《 SpringBoot 技术整合秘籍》,相信各位 从中学习到前辈优秀的高性能代码设计经验、调优配置技巧,总结出最优使用方案,绕过工作中遇到的很多坑

【SpringBoot 系列】一、SpringBoot项目搭建

我怕爱的太早我们不能终老 提交于 2020-10-31 05:26:48
↑点击上方 “程序猿技术大咖” 免费订阅 一、引言: 什么是spring boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。 使用spring boot有什么好处? 其实就是简单、快速、方便!平时如果我们需要搭建一个spring web项目的时候需要怎么做呢? 配置web.xml,加载spring和spring mvc 配置数据库连接、配置spring事务 配置加载配置文件的读取,开启注解 配置日志文件 ... 配置完成之后部署tomcat 调试 ... 但是如果使用spring boot呢? 很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务! 使用sping boot是不是很爽,不信,接下来往下看! 二、基础环境准备 (以 Spring Boot 2.1.0.BUILD-SNAPSHOT版本搭建 ) 1、JDK环境安装 Spring Boot 2.1.0.BUILD

SpringBoot搭建web项目

霸气de小男生 提交于 2020-10-31 04:50:39
1.SpringBoot的优点 支持内嵌的servlet容器,只需要将项目打包jar包,使用java -jar xxx即可运行项目 提供大量的start来简化maven配置 提供了默认的spring配置 提供了服务监控工具Actuator 2.使用SpringBoot创建web项目 以IntelliJ IDEA为例子。点击File-new project,到以下页面: 选择Spring Initializer,点击next,到以下页面: 输入正确的项目名称,使用默认配置一直点击下一步。到创建项目完成。 项目创建完成后目录结构如下图: 其中DemoApplication代码如下如下: @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 此类中的main方法为springboot项目启动的入口。 此类中的SpringBootApplication注解可以触发自动配置Spring功能,并且项目自动扫描此注解标识的类同目录文件下的所有Spring的bean。 3.创建web接口 pom文件中添加Springboot-web-start依赖: <

SpringBoot2.x整合logback 实现自动打印日志

丶灬走出姿态 提交于 2020-10-31 04:40:35
SpringBoot默认使用logbook日志框架。 一、引入架包 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>    <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-aop</artifactId>    </dependency> </dependencies> 二、创建logback-spring.xml <configuration> <!-- %m输出的信息, %p日志级别, %t线程名, %d日期, %c类的全名, %i索引 --> <!-- appender是configuration的子节点,是负责写日志的组件 --> <!-- ConsoleAppender把日志输出到控制台