2.5 springboot
双斜杠少年
希望经记录下来自己学习过程,并和大家一块分享
展开
-
Neo4j 初识之springboot-neo4j示例
what noe4j图数据库主要用于存储更多的连接数据。例如这样的数据。一个人的家庭群,和他的朋友圈模型。像这样,这些应用程序包含大量的结构化,半结构化和非结构化的连接数据。 在RDBMS数据库中表示这种非结构化连接数据并不容易。使用RDBMS数据库来存储更多连接的数据,那么它们不能提供用于遍历大量数据的适当性能。 在这些情况下,Graph Database提高了应用程序性能。Neo4j的...原创 2018-11-27 18:15:51 · 2437 阅读 · 0 评论 -
springboot+es(二)多数据源配置
上一篇文章简单写了 springboot 和 es 的使用 点击查看这一篇说一下多数据源以及多种查询情况的语句多数据源配置在config 文件夹下新增数据源配置,有几个数据源就新增几个配置类,例子是老师信息数据源 和学生信息数据源两个 。引入依赖 <dependency> <groupId>org.elasticsearch.client...原创 2020-02-24 17:23:59 · 8324 阅读 · 1 评论 -
springboot缓存 之 GuavaCacheManager
我的springboot的缓存技术 博客写了 spring boot的缓存技术 主要用了 声明式缓存注解 。我写这篇博客是说一下不用注解方式使用 缓存的方法。顺便说一下 GuavaCacheManager 的数据结构, GuavaCacheManager 类似是一种 Map<String,Map<Object,Object>> 的数据结构,GuavaCacheManager 里面有多个cache原创 2017-03-05 16:00:03 · 21386 阅读 · 5 评论 -
spring security(七) session 并发,一个用户在线后其他的设备登录此用户失败
这又是 一片 关于security 的文章,用于解决 session 并发问题 ,同时只有一个用户,在线。 有一个用户在线后其他的设备登录此用户失败。本文代码,是基于 springboot+security restful权限控制官方推荐(五) 的代码未完待续。。。。只是先把代码粘出来,然后再做修改1. 修改security配置修改 WebSecurityConfig 文件 添加 SessionR原创 2017-08-23 14:35:16 · 15679 阅读 · 8 评论 -
springboot缓存 之 从Cache中取出所有条目
背景前两天遇到一个问题,就是将一个 key ,value1、value2 、value3、value4…… 也就是一个 key 多个 value 的数据结构放到 缓存中。这个简单,我就把他们都放到了GuavaCacheManager 缓存中,(GuavaCacheManager可以参考这里 点我 ) 但是在取出数据的时候遇到了一个问题。问题我门知道 GuavaCacheManager 的数据结原创 2017-07-16 22:16:49 · 19262 阅读 · 2 评论 -
springboot-AOP
先了解AOP的相关术语: 1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Sprin原创 2017-07-13 23:05:15 · 1133 阅读 · 0 评论 -
利用java 的动态代理模拟spring的AOP
AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。平常我门需要记录一些操作的日志,需要在操作的业务逻辑代码里嵌入日志模块的代码。这些日志模块的代码与操作的代码逻辑无关,只是做一个记录,而且在其原创 2017-07-13 00:00:01 · 1607 阅读 · 1 评论 -
spring 之 自己动手实现IOC
扯淡学 java 的人应该都知道spring,学spring的人呢都应该知道 IOC和 AOP 对吧。今天就简单的说一下spring 的IOC。IoC是Spring框架的核心内容,IoC(Inversion of Control)控制反转,是一种设计思想,DI(依赖注入)是实现IoC的一种方法。 其实spring就是一个容器,一个bean容器。主要是完成了完成对象的创建和依赖的管理注入。什么是控制原创 2017-07-11 22:49:38 · 2370 阅读 · 1 评论 -
springboot+security 动态权限修改session立即失效(六)
这个是springboot结合security 系列的第六篇博客了,不知不觉已经写了6篇了。中间有写的很不好,不尽人意。文章的排列也是我遇见问题,解决问题的过程,希望大家见谅。这不,最近出现了这个问题, 一个管理员A登录后,在进行操作,此时管理员B 修改了管理员A 的权限,将管理员A 修改为普通用户,但此时管理员A,需要重新登录权限修改才会起效,但是管理员A此时没有退出登录,还可以进行操作,这就是很原创 2017-05-08 23:01:52 · 13124 阅读 · 5 评论 -
后端(springboot)解决跨域问题
首先我门要知道什么是跨域:跨域是指 不同域名之间相互访问。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容 如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。什么是同一个域?同一协议,同一ip,同一端口,三同中有一不同就产生了跨域。前端解决跨域:前边也原创 2017-05-08 22:14:14 · 58923 阅读 · 13 评论 -
spring aop注解失效之谜
问题:在spring 中使用 @Transactional 、 @Cacheable 或 自定义 AOP 注解时,会发现个问题:在对象内部的方法中调用该对象的其他使用aop机制的方法,被调用方法的aop注解失效。这句话可能说的有点拗口,那么我们来看几个 aop 失效的例子吧事物失效public class TicketService{ //买火车票 @Transactional原创 2017-08-18 00:53:26 · 13451 阅读 · 4 评论 -
spring security(八) session 并发,剔除前一个用户
解决 session 并发问题 ,同时只有一个用户在线。 有一个用户在线后其他的设备登录此用户将剔除前一个用户。强制前一个用户下线。本文代码,是基于 springboot+security restful权限控制官方推荐(五)的代码1.修改security配置添加 SessionRegistry,自己管理SessionRegistry。@Configuration@EnableWebSecuri原创 2017-08-23 17:28:38 · 13859 阅读 · 7 评论 -
Springboot多数据源切换
Springboot-DynamicDataspringboot 多个数据源的配置解决问题, 一个springboot 项目操作多个数据库的数据新建springboot项目 添加pom依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> ...原创 2019-04-14 14:44:07 · 7034 阅读 · 1 评论 -
springboot+es
springboot-es本文 :Elasticsearch 与 sprigboot 的结合,springboot 操作es关于es 的介绍和初识 可以看 https://blog.csdn.net/u012373815/article/details/50460248安装https://blog.csdn.net/u012373815/article/details/50463792...原创 2019-04-14 14:42:34 · 7651 阅读 · 4 评论 -
springboot+Kafka
springboot-Kafka本文 :kafka 与 sprigboot 的结合,springboot 从Kafka中读取数据关于Kafka的更多介绍:https://blog.csdn.net/u012373815/article/category/6385580配置依赖新建springboot项目 配置pom.xml 文件 <dependency> ...原创 2019-04-14 14:41:36 · 3799 阅读 · 2 评论 -
springboot 整合mybatis2
1. 导入依赖的jar包新建maven项目导入 springboot和mybatis所需依赖 配置pom.xml文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/...原创 2019-04-14 14:39:04 · 7084 阅读 · 4 评论 -
springBoot-Quartz 定时任务
1.1 Quartz 概述 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现。该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目。读者可以到 http://www.quartz-scheduler.org/站点下载 Quartz 的发布版本及其源代码。1.2 Quartz特点...原创 2019-02-01 14:32:45 · 28686 阅读 · 13 评论 -
spring boot +Swagger-ui 自动生成API文档
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 这样后段开发好了api 之后就要提交api 文档给前端的朋友。给前端的api 文档各个公司有各个公司的要求,有的是word 有的是 md 文档,或者是 postman 的一个连接。好了废话不多说说一下 swagger -ui 吧什么是Swa...原创 2018-09-13 12:27:47 · 10780 阅读 · 8 评论 -
springboot缓存篇(二)-redis 做缓存
本文基于上一篇博客springboot的缓存技术,将缓存技术修改为使用redis数据库作为缓存技术。本文结构: - redis 介绍 - redis基于docker安装 - 添加pom 依赖 - 添加 redisconfig 配置 - 添加bean的序列化redis 介绍Redis 是一个开源的 使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志 型、原创 2017-01-16 14:45:33 · 6382 阅读 · 0 评论 -
在spring boot中使用java线程池ExecutorService
1. 认识java线程池1.1 在什么情况下使用线程池?1.单个任务处理的时间比较短 2.需处理的任务的数量大 1.2 使用线程池的好处:1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存1.3 线程池包括以下四个基本组成部分:1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线原创 2018-01-02 21:52:35 · 37386 阅读 · 3 评论 -
springboot 使用校验框架validation校验
b/s系统中对http请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的。 Spring3支持JSR-303验证框架,JSR-303 是Java EE 6 中的一项子规范,叫做BeanValidation,官方参考实现是hibernate Validator(与Hibernate ORM 没有关系),JSR 303 用于对J原创 2017-05-14 18:53:20 · 78894 阅读 · 18 评论 -
spring boot +WebSocket 广播式(二)
springBoot+WebSocket 广播式(一) 也就是上一篇博客是使用@sendTo 注解方式,感觉不太方便,也可能是我没有深究,此篇博客将使用 spring 的SimpMessagingTemplate 类,实现广播式推送。个人比较喜欢此类型。广播式即服务器段友消息时,会将消息发送给所有链接了当前endpoint 的浏览器。本文目的,通过一个动作触发,然后后台将信息推送到链接的浏览器。本文原创 2017-01-12 15:07:03 · 8265 阅读 · 5 评论 -
springboot集成shiro 实现权限控制
shiroapache shiro 是一个轻量级的身份验证与授权框架,与spring security 相比较,简单易用,灵活性高,springboot本身是提供了对security的支持,毕竟是自家的东西。springboot暂时没有集成shiro,这得自己配。shiro 内置过滤器请看博文: http://blog.csdn.net/hxpjava1/article/details/70357原创 2017-02-26 23:52:51 · 42977 阅读 · 24 评论 -
spring boot 原理、demo 与打包运行
Spring Boot的背景,我们为什么要用它,它能给我们带来什么遍便利? 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用gradle来构建的话基本也一样)然后新建Spring相关的xml文件,而且往往那些xml文件还不会少。然后继续使用tomcat或者jetty作为容器来运行这个工程。基本上每次创原创 2016-03-07 17:59:04 · 14213 阅读 · 0 评论 -
springboot 整合mybatis
springboot项目整合mybatis之前首先要导入依赖的jar包,配置pom.xml文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi原创 2016-07-27 22:57:37 · 5350 阅读 · 3 评论 -
Ant 风格路径表达式
ANT通配符有三种:通配符 说明例子:URL路径 说明属性: 最长匹配原则(has more characters) 说明,URL请求/app/dir/file.jsp,现在存在两个路径匹配模式/*/.jsp和/app/dir/.jsp,那么会根据模式/app/dir/.jsp来匹配原文链接:http://blog.csdn.net/songdexv/article/details/7219转载 2017-02-17 17:25:34 · 2400 阅读 · 0 评论 -
spring boot +WebSocket(三) 点对点式
前两篇博客演示了广播式的websocket 推送。 广播式有自己的应用场景,但是广播式不能解决我门一个常见的场景,即消息由谁发送、由谁接收的问题。本例中演示了一个简单的聊天室程序。例子中只有两个用户,互相发送消息给彼此,因需要用户相关内容,所以这里引入了最简单的spring Security相关内容。本文原代码会在文章末尾给出,但是原代码中包含 spring boot +WebSocket原创 2017-01-12 18:38:44 · 41272 阅读 · 9 评论 -
springBoot+springSecurity验证密码MD5加密
本文目的:使用springBoot+springSecurity 用户授权验证权限功能,对用户的登录密码使用MD5 加密。本文基于我的博客:springboot+mybatis+SpringSecurity 实现用户角色数据库管理 进行修改。本文只讲述对密码加密部分。只需要修改securityConfig 文件,并添加md5 工具类即可。修改WebSecurityConfig.java对于WebS原创 2017-02-08 15:13:01 · 34804 阅读 · 17 评论 -
spring boot +WebSocket 广播式(一)
WebSocket 为浏览器和服务器端提供了双工异步通信的功能,即浏览器可以向服务器发送消息,服务器也可以向浏览器发送消息。WebSocket 需要浏览器的支持,如IE 10+、Chrome 13+、Firefox 6+。Websocket 是通过一个socket来实现双工异步通讯的能力。但是直接使用WebSocket协议开发程序显得特别烦琐,我门会使用它的子协议STOMP,它是一个更高级级别的协议原创 2017-01-12 12:16:28 · 20478 阅读 · 13 评论 -
Maven 安装和配置
安装 将“开发工具\apache-maven-3.2.1-bin.zip”解压,建议解压路径不要有中文。配置环境变量: MAVEN_HOME PATH:在path中加入maven的执行程序路径: 将%MAVEN_HOME%\bin;追加在path变量后面即可,不要覆盖原来的内容。验证是否安装成功:可以正常显示maven的版本号即安装成功。 注意: 在命令行执行maven命令,只找原创 2015-10-23 15:47:01 · 925 阅读 · 0 评论 -
spring boot 整合spring data jpa
本文结构: - 什么是springdata jpa - springboot 整合spring data jpaSpring Data Repository的核心接口是Repository(好像也没什么好惊讶的)。这个接口需要领域类(Domain Class)跟领域类的ID类型作为参数。这个接口主要是让你能知道继承这个类的接口的类型。CrudRepository 供了对被管理的实体类的一些常用C原创 2016-11-20 16:38:11 · 33683 阅读 · 5 评论 -
springboot 定制个性 banner
使用spring boot 开发时,当程序启动的时候控制台会输出由字符组成的Spring符号。这个是SpringBoot为自己设计的Banner: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/原创 2017-02-09 16:49:49 · 34773 阅读 · 3 评论 -
Spring Security 4 使用@PreAuthorize,@PostAuthorize, @Secured, EL实现方法安全
本文探讨Spring Security 4 基于@PreAuthorize, @PostAuthorize, @Secured和 Spring EL表达式的方法级的安全。想要开启Spring方法级安全,你需要在已经添加了@Configuration注解的类上再添加@EnableGlobalMethodSecurity注解:package com.websystique.springsecurity.转载 2017-02-19 18:17:32 · 12301 阅读 · 0 评论 -
SpringBoot-SpringSecurity集成-修定
原文地址:http://blog.csdn.net/ABAP_Brave/article/details/53032694原文的 pom.xml 文件不全。 原文没有给定启动类。 对于原文的缺失此处补全。此篇是初级篇 如有兴趣请看 高级篇一: springboot+mybatis+SpringSecurity 实现用户角色数据库管理高级篇二 springBoot+springSecurity转载 2016-12-27 18:34:25 · 2406 阅读 · 0 评论 -
springboot+security 的BCryptPasswordEncoder 使用
任何应用考虑到安全,绝不能明文的方式保存密码。密码应该通过哈希算法进行加密。有很多标准的算法比如SHA或者MD5,结合salt(盐)是一个不错的选择。 Spring Security 提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。BCrypt强哈希方法 每次加密的结果都不一样。好了废话不多说,就看怎么整合原创 2017-03-05 11:40:43 · 53176 阅读 · 7 评论 -
springBoot+springSecurity 动态管理Restful风格权限(三)
上一篇博客 springBoot+springSecurity 数据库动态管理用户、角色、权限(二) 只是实现了用户、角色、权限的动态管理,但是其权限管理是有缺陷的,他不支持restful风格的接口权限管理,因为他无法区分客户端的请求方式。本片博客是为了弥补此缺陷的,本篇博客将在 springBoot+springSecurity 数据库动态管理用户、角色、权限(二) 的基础上进行修改使其原创 2017-02-15 23:16:14 · 54183 阅读 · 73 评论 -
springboot-springSecurity 之 http Basic认证 (四)
引言:HTTP基础认证(BA)是一种简单的认证机制。当一个web客户端需要保护任何web资源的时候,服务器会发送一个带有401状态码(未授权)的HTTP回应,还有类似WWW-Authenticate: Basic realm=”realm here” 的 WWW-Authenticate HTTP头。而浏览器这时候就会弹出一个登录对话框,提示输入用户名和密码。1. 修改配置在spring boot项原创 2017-02-24 11:09:03 · 29151 阅读 · 5 评论 -
springboot+mybatis+SpringSecurity 实现用户角色数据库管理(一)
本文使用springboot+mybatis+SpringSecurity 实现用户权限数据库管理实现用户和角色用数据库存储,而资源(url)和权限的对应采用硬编码配置。 也就是角色可以访问的权限通过硬编码控制。角色和用户的关系通过数据库配置控制本文用户和角色的关系是多对多的关系。SpringSecurity 验证帐号密码AuthenticationManager调用Provider,provide原创 2017-01-20 17:17:06 · 123439 阅读 · 141 评论 -
springBoot+springSecurity 数据库动态管理用户、角色、权限(二)
序: 本文使用springboot+mybatis+SpringSecurity 实现数据库动态的管理用户、角色、权限管理本文细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义滤器,代替原有的FilterSecurityInterceptor过滤器, 并分别实现AccessDecisionManager、InvocationSecurityMetadataSource原创 2017-01-20 18:47:16 · 154271 阅读 · 89 评论 -
springboot+security restful权限控制官方推荐(五)
继前几篇博客将用户、角色、权限信息都存在数据,实现管理权限到请求方法级别。感觉那种实现方式比较鸡肋,不太实用。所以今天说一下,官方推荐的注解方式控制权限到请求方法级别的实现。官方推荐的方法是将用户、角色信息存在数据库,而角色和权限的对应关系,通过注解的方式写死在controller上。废话不多说,上代码;本文代码是基于博客 springboot+mybatis+SpringSecurity 实现用原创 2017-03-03 09:40:44 · 34700 阅读 · 23 评论