
SpringBoot
华科易迅
这个作者很懒,什么都没留下…
展开
-
Spring Security原理
Spring Security原理是通过使用过滤器Filter,实现责任链设计模式,通过预先configure(HttpSecurity http)设定责任链过滤规则实现认证和授权。过滤器通过spring容器托管实现,需要使用代理DelegatingFilterProxy实现FilterChainProxy 过滤器链代理,是通过DelegatingFilterProxy代理Spring容器中的对象。官方文档中描述Filter列表包括https://docs.spring.io/spring原创 2020-06-30 11:52:50 · 1548 阅读 · 1 评论 -
JWT认证原理
基于HTTP协议的软件认证方式有很多,鉴于HTTP协议无状态性,所有的认证方式必须解决HTTP请求有状态性问题,也就是如何创建一个HTTP上下文,将区分哪些HTTP请求来自同一用户操作。传统解决方式是生成HTTP会话,并将会话ID存放在客户端浏览器中的Cookie或者URL重写这两种方式,伴随系统实现方式变化,越来越多的系统使用前后端分离的架构,系统遭受XSS,XSRF攻击的可能性也越大。现在JWT认证被广泛应用。下面介绍JWT认证原理:Json web token (JWT), 根据官网的定义,是为了在原创 2020-06-28 11:19:44 · 1054 阅读 · 0 评论 -
Spring Security原理与应用
Spring Security是Spring提供登录认证,鉴权的组件,使用起来很方便,所以越来越多的系统使用Spring Security完成登录校验功能,Spring Security使用Filter过滤器检查客户端连接是否完成登录校验,使用Cookie记录登录状态,下面例程演示Spring Securiy登录和授权。1、创建Maven工程,引入Spring Securiy依赖 <parent> <groupId>org.springframework.boot原创 2020-05-28 17:31:28 · 256 阅读 · 0 评论 -
SpringBoot集成JasperReport
使用JasperReport 引擎PDF报表,因为iText版本升级,由原来的包名com.lowagie.text.pdf.fonts转化为com.itextpdf.text.pdf.fonts,如果引用的Jar包报表不一致,通常报无法找到字体错误2020-03-09 13:39:44.784 WARN 10876 --- [nio-6060-exec-1] n.s.j.engine.expo...原创 2020-03-09 13:43:35 · 7217 阅读 · 1 评论 -
SpringBoot环境添加过滤器
Java过滤器能够对目标资源的请求和响应进行截取,SpringBoot环境中定义过滤器按照如下步骤:一、定义过滤器Order注解是定义过滤器的执行顺序,值越小优先执行。package com.test.util;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChai...原创 2018-12-18 21:46:01 · 1358 阅读 · 0 评论 -
JSONP跨域访问
Http协议中除去带src属性的标签外(img,js,iframe),其他标签跨域访问是不允许的,但在电商系统中许多业务功能需要分布部署以提高系统稳定性与并发访问量。使用js可以从不同域名加载数据,JSONP就是利用实现跨域访问请求。通过JS加载远程的数据到本地浏览器,再编写JS方法显示这些数据。参考下面例程。准备环境:1、下载Window版Nginxhttps://pan.baidu.co...原创 2019-01-28 17:16:35 · 481 阅读 · 0 评论 -
Cors跨域访问
Http协议访问资源需要符合同源策略,同源策略[same origin policy]是浏览器的一个安全功能, 同源策略是浏览器安全的基石。同源就是必须访问的域名与端口号完全相同。例如下面例子http://test.com与http原创 2019-01-29 17:04:34 · 845 阅读 · 0 评论 -
EasyUI页面缓存三级地址联动例程
前台页面地址三级联动处理方式有很多,可以使用异步加载处理(参考https://blog.youkuaiyun.com/qixiang_chen/article/details/85214034),也可以将数据一次加载到客户端,在客户端实现三级联动处理。本例使用Easyui技术在前台实现缓存三级联动。系统架构如下图:Maven父工程POM.xml<?xml version="1.0" encodi...原创 2019-03-29 23:42:42 · 625 阅读 · 0 评论 -
SpringBoot实现WebService
SpringBoot集成Apache的cxf-rt-frontend-jaxws实现WebService服务POM.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/...原创 2019-05-14 21:05:43 · 5207 阅读 · 1 评论 -
SpringBoot四大组件
package com.gufang.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.Retention...原创 2019-08-05 15:50:53 · 30624 阅读 · 2 评论 -
SpringBoot 1.x 通过注解方式使用Redis
POM文件添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>添加Re...原创 2019-08-13 21:29:51 · 531 阅读 · 0 评论 -
SpringBoot 2.x 通过注解方式使用Redis
SpringBoot 2.x版本使用注解方式使用Redis与SpringBoot 1.x 有所改变,主要是类库有所不同。Redis配置工具类如下package com.test;import java.time.Duration;import org.springframework.cache.CacheManager;import org.springframework.cache...原创 2019-08-21 21:46:52 · 309 阅读 · 2 评论 -
SpringBoot Starter设计
SpringBoot重要组件是各种Starter,需要定制扩展SpringBoot功能,必须自定义Starter。本例自定义Starter只使用与SpringBoot 2.x以后版本,实现Redis缓存管理,文件上传基本服务,使用JDBC操作数据库。定义Maven工程,定义POM依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xm...原创 2019-08-22 22:17:24 · 467 阅读 · 0 评论 -
SpringBoot环境自定义拦截器
什么是拦截器拦截器(Interceptor): 用于在某个方法被访问之前进行拦截,然后在方法执行之前或之后加入某些操作,它通过动态拦截Action调用的对象,允许开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。拦截器作用拦截用户的请求并进行相应的处理,比如:判断用户是否登陆,记录日志信息等...原创 2018-12-18 21:37:48 · 215 阅读 · 0 评论 -
SpringBoot集成Mybatis Plus
Mybatis Plus是Mybatis的升级版本,提供一些默认的功能实现,只要按照其约定编写代码,就可以充分利用其特性。SpringBoot集成Mybatis Plus步骤:1、修改POM,添加Mybatis Plus依赖&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2...原创 2018-12-16 10:08:45 · 2776 阅读 · 0 评论 -
SpringBoot集成JPA
SpringBoot默认使用JPA的框架是Hibernate,如下案例是SpringBoot集成JPA的步骤:1、修改POM文件依赖POM.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc...原创 2018-12-15 22:53:40 · 200 阅读 · 0 评论 -
IDEA SpringBoot 支持JSP页面配置
SpringBoot相同的POM配置文件在Eclipse环境下可以运行测试JSP页面,而转到IDEA 环境下运行测试,报不支持JSP页面错误,通过定位问题,发现这些地方需要修改。修改一修改二 POM.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apac...原创 2018-08-11 20:17:40 · 1128 阅读 · 3 评论 -
使用SpringBoot+Redis+Solr完成多对多项目案例
利用SpringBoot的简单性和易集成特点,与内存服务器Redis和搜索服务器Solr集成完成项目案例,题目要求查询菜单记录需要从Solr中检索,并且高亮显示查询关键字,菜单使用的材料需要使用Redis内存服务器缓存。案例要求: 1、安装Redis内存服务器 2、安装Solr全文检索服务器...原创 2018-08-12 07:47:17 · 2225 阅读 · 0 评论 -
使用SSM实现RabbitMQ+Duddo多对多案例
使用Maven完成SSM实现RabbitMQ+Dubbo多对多案例,本例设计两个程序,一个程序为Web程序,另一个是Dubbo服务,Dubbo服务程序实现数据库存取操作,Web程序只包括Controller层和发送消息和接收消息业务处理,Controller需要远程注入Dubbo服务实现操作数据库业务。案例要求: 1、Zookeeper服务 2、RabbitMQ服务 3、Dubbo控制台...原创 2018-08-15 13:06:50 · 802 阅读 · 0 评论 -
使用SpringBoot+JSP完成一对多项目案例
使用SpringBoot开发项目效率非常高,但需要熟练掌握Maven工具的使用技巧,SpringBoot的将所有需要集成的框架依赖都维护好了,我们只需要在POM中引用父POM文件即可,如果还需要集成其他框架,比如RabbitMQ,Dubbo,需要再添加依赖。如下案例演示如何使用SpringBoot完成一对多的博文管理案例。一、新建Maven webapp项目(可以使用Eclipse,Intel...原创 2018-08-31 15:13:28 · 3535 阅读 · 0 评论 -
SpringBoot定时器
如果项目启动类在根包目录下,启动类上只添加SpringBootApplication注解即可package com.hk;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.sprin...原创 2018-10-18 14:18:25 · 291 阅读 · 0 评论 -
Spring ApplicationContextAware接口
SpringBoot底层封装SpringMVC,如何在代码中获取Spring容器的入口ApplicationContextpackage com.hk.util;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.s...原创 2018-10-18 14:33:08 · 207 阅读 · 0 评论 -
SpringBoot项目部署
SpringBoot项目分为后台服务项目和Web项目,它们的部署步骤基本相同,都需要使用一个Maven插件打包完成Web项目POM.xml文件中打包类型需要是war类型Maven插件完整的POM文件&amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLS原创 2018-11-07 21:14:10 · 253 阅读 · 0 评论 -
SpringBoot集成RabbitMQ解耦合
RabbitMQ的消息接收者程序往往需要操作业务数据,如何将收发消息的工具类与业务系统解耦合,提供消息工具类的应用范围是一个需要解决的问题,本例中添加一层接口,参考下图:同步消息SyncSendMsgpackage com.test.util;import java.io.ByteArrayOutputStream;import java.io.ObjectOutputStream;...原创 2018-11-15 20:49:28 · 747 阅读 · 0 评论 -
SpringBoot集成Dubbo
服务器端配置一、准备POM文件&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache原创 2018-11-14 19:24:06 · 349 阅读 · 0 评论 -
SpringBoot集成RabbitMQ
配置POM配置application.properties发送RabbitMQ消息分为两种,第一种是同步调用(RPC),也就是发送完消息后需要等待消息处理结果,第二种是异步消息,发送者发消息后可以处理其他业务,不等待消息处理结果。同步消息消息发送类package com.test;import java.io.ByteArrayOutputStream;import java....原创 2018-11-15 11:50:48 · 1652 阅读 · 1 评论 -
SpringBoot集成RabbitMQ解耦合二
如何让工具类更加通用,与业务模块解耦合是架构师和产品研发人员一直研究的课题,不管MVC分层设计,SOA面向服务设计,还是为解决高并发的读写分类,前后台分类,集群计算都解决问题的统筹方法。如下实现Spring+RabbitMQ集成工具,使用Spring开发项目更加容易集成RabbitMQ,无论是发送RPC同步调用还是异步调用。使用步骤:一、准备Maven POM配置二、准备SpringBo...原创 2018-11-17 21:15:05 · 687 阅读 · 0 评论 -
SpringBoot上传文件
定义实体类package com.test.model;import java.io.Serializable;import java.sql.Date;import javax.sql.rowset.serial.SerialBlob;public class FileInfo implements Serializable{ private Integer id = null...原创 2018-12-05 17:34:50 · 338 阅读 · 1 评论 -
使用SpringBoot完成RabbitMQ与Dubbo框架集成例程
&amp;amp;lt;%@ page language=&amp;quot;java&amp;quot; contentType=&amp;quot;text/html; charset=UTF-8&amp;quot; pageEncoding=&amp;quot;UTF-8&amp;quot;%&amp;amp;gt;&amp;amp;lt;%@ ta原创 2018-08-11 09:09:50 · 2147 阅读 · 0 评论