202010-10 springboot2.x整合shiro权限框架的使用 序在实际项目中,经常需要用到角色权限区分,以此来为不同的角色赋予不同的权利,分配不同的任务。比如,普通用户只能浏览;会员可以浏览和评论;超级会员可以浏览、评论和看视频课等;实际应用场景很多。毫不夸张的说,几乎每个完整的项目都会设计到权限管理。在SpringBoot中做权限管理,一般来说,主流的方案是SpringSecurity,但是由于SpringSecurity过于庞大和复杂,只要能满足业务需要,大多数公司还是会选择Apache... 继续阅读 >
202010-10 SpringBoot使用knife4j进行在线接口调试 前言我们在开发一个JavaWeb的项目,如果项目整体采用前后端分离的架构的方式,我们会经常使用Swagger来进行接口调试和为前端提供接口文档,但是Swagger并没有实际上那么方便,比如我们在发送Post请求时,参数选填还是非常不友好,那么有没有更好的工具呢?正文knife4jknife4j是为JavaMVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,具有小巧,轻量,并且功能强悍的优点。Knife4j提供两大核心功能:文档... 继续阅读 >
202010-10 一篇文章带你搞定SpringBoot中的热部署devtools方法 一、前期配置创建项目时,需要加入DevTools依赖二、测试使用(1)建立HelloController@RestControllerpublicclassHelloController{@GetMapping("/hello")publicStringhello(){return"hellodevtools";}}对其进行修改:然后不用重新运行,重新构建即可:只加载变化的类三、热部署的原理SpringBoot中热部署最最关键的原理就是两个不同的classloader:baseclassloaderrestartclassloader其中baseclassl... 继续阅读 >
202010-10 SpringBoot快速集成jxls-poi(自定义模板,支持本地文件导出,在线文件导出) 在项目持续集成的过程中,有时候需要实现报表导出和文档导出,类似于excel中这种文档的导出,在要求不高的情况下,有人可能会考虑直接导出csv文件来简化导出过程。但是导出xlsx文件,其实过程相对更复杂。解决方案就是使用poi的jar包。使用源生的poi来操作表格,代码冗余,处理复杂,同时poi的相关联的依赖还会存在版本兼容问题。所以直接使用poi来实现表格导出,维护成本大,不易于拓展。我们需要学会站在巨人的肩膀上解决问题,j... 继续阅读 >
202010-10 SpringBoot系列教程之dubbo和Zookeeper集成方法 今日学习新的内容:dubbo dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,一款高性能、轻量级的开源JavaRPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。zookeeper zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。Sp... 继续阅读 >
202010-10 springboot 在xml里读取yml的配置信息的示例代码 YML是什么YAML(YAMLAin'taMarkupLanguage)YAML不是一种标记语言,通常以.yml为后缀的文件,是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,一种专门用来写配置文件的语言。可用于如:Java,C/C++,Ruby,Python,Perl,C#,PHP等。可以用<springProperty> 标签从Spring中显示属性以下为在日志配置文件中读取的示例:<?xmlver... 继续阅读 >
202010-10 Spring Boot整合QueryDSL的实现示例 之前研究Jooq,今天来研究一下搭配JPA的QueryDSL吧。简介Querydsl是一个Java开源框架用于构建类型安全的SQL查询语句。它采用API代替拼凑字符串来构造查询语句。可跟Hibernate和JPA等框架结合使用。新建SpringBoot项目。。。还说啥?1.pom.xml<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><depen... 继续阅读 >
202010-10 springboot prototype设置多例不起作用的解决操作 大多数人会直接这样写:@Bean@Scope(value=ConfigurableBeanFactory.SCOPE_PROTOTYPE)publicTestBeangetTestBean(){returnnewTestBean();}ConfigurableBeanFactory.SCOPE_PROTOTYPE的值就是prototype但是发现Autowire的时候,每一个请求用的还是同一个单例对象,这是因为没设置多例的代理模式的问题,改成如下配置就可以了:@Bean@Scope(value=ConfigurableBeanFactory.SCOPE_PROTOTYPE,proxyMode=ScopedProxyMode.T... 继续阅读 >
202010-10 springboot的yml配置文件通过db2的方式整合mysql的教程 springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件先配置MySQL,代码如下spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedruid:#主库数据源master:url:jdbc:mysql://localhost:3308/<数据库名>?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username:r... 继续阅读 >
202010-10 SpringBoot事件机制相关知识点汇总 要“监听”事件,我们总是可以将“监听器”作为事件源中的另一个方法写入事件,但这将使事件源与监听器的逻辑紧密耦合。对于实际事件,我们比直接方法调用更灵活。我们可以根据需要动态注册和注销某些事件的侦听器。我们还可以为同一事件设置多个侦听器。本教程概述了如何发布和侦听自定义事件,并解释了SpringBoot的内置事件。为什么我应该使用事件而不是直接方法调用?事件和直接方法调用都适合于不同的情况。使用方法调用,... 继续阅读 >
202010-10 SpringBoot 如何实现Session共享 HttpSession,是通过Servlet容器创建并进行管理的,创建成功以后将会保存在内存中,这里将会使用Redis解决session共享的问题。创建项目添加pom添加相关的maven<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="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.0https://maven.apache.org/xsd/maven-4.0.0.xs... 继续阅读 >
202010-10 SpringBoot结合JSR303对前端数据进行校验的示例代码 一、校验分类数据的校验一般分为**前端校验、后端校验**二、前端校验前端校验是最为明显的,先说一下:①HTML非空校验如HTML5新增的属性required="true",一旦没有填写就输入框就显示红色,具体使用如:<inputtype="text"id="name"name="name"required="true"/>②JS同时在提交表单发送Ajax请求的时候,来个onSubmit函数,具体例如(使用点EasyUI):functionsubmitData(){$("#fm").form("submit",{url:"/admi... 继续阅读 >
202010-10 SpringBoot工程搭建打包、启动jar包和war包的教程图文详解 工程搭建1.File->new->project;2.选择“SpringInitializr”,点击next;(jdk1.8默认即可)3.完善项目信息,组名可不做修改,项目名可做修改;最终建的项目名为:test,src->main->java下包名会是:com->example->test;点击next;4.Web下勾选SpringWebStart,(网上创建springboot项目多是勾选Web选项,而较高版本的Springboot没有此选项,勾选SpringWebStart即可,2.1.8版本是SpringWeb);TemplateEnglines勾选Thymelea... 继续阅读 >
202010-10 springboot全局日期格式化的两种方式 方式一是配置参数参数配置的方式就是在json序列化的时候,当字段为日期类型的时候的format类型,就相当于在所有日期字段上加了一个注解@JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-ddHH:mm:ss"),但是每个字段都加注解太麻烦,所以直接使用全局配置来实现参数配置也分为两种配置第一种是yml的配置spring:jackson:#参数意义:#JsonInclude.Include.ALWAYS默认#JsonInclude.Include.NON_DEFAULT... 继续阅读 >
202010-10 SpringBoot中使用Quartz管理定时任务的方法 定时任务在系统中用到的地方很多,例如每晚凌晨的数据备份,每小时获取第三方平台的Token信息等等,之前我们都是在项目中规定这个定时任务什么时候启动,到时间了便会自己启动,那么我们想要停止这个定时任务的时候,就需要去改动代码,还得启停服务器,这是非常不友好的事情直至遇见Quartz,利用图形界面可视化管理定时任务,使得我们对定时任务的管理更加方便,快捷一、Quartz简介Quartz是一个开源的作业调度框架,它完全由J... 继续阅读 >
202010-10 Springboot如何实现自定义异常数据 一、源码分析自定义异常数据之前我们先看看一下源码上述代码意思是如果你没有提供就使用springboot提供的类这是springboot提供的异常属性类,我们想要自定义,自己的异常数据就只需要继承DefaultErrorAttribute类再重写getErrorAttribute()方法就可以达到我们想要的功能了二、自定义异常数据1、@controller控制器(注入服务)2、@service服务(注入dao)3、@repositorydao(实现dao访问)4、@component(把普通pojo实例化到spr... 继续阅读 >