202010-08 SpringBoot Application注解原理及代码详解 1、SpringBoot启动main()@SpringBootApplicationpublicclassTomcatdebugApplication{publicstaticvoidmain(String[]args){SpringApplication.run(TomcatdebugApplication.class,args);}}1.1@SpringBootApplication注解,其实主要是@ComponentScan,@EnableAutoConfiguration,@SpringBootConfiguration三个注解@ComponentScan注解:spring里有四大注解:@Service,@Repository,@Component,@Controller用来定义一... 继续阅读 >
202010-07 Springboot shiro认证授权实现原理及实例 关于认证授权,需要的数据表有:用户表,角色表,用户角色关联表,权限表,角色权限关联表,一次如下之前写过了shiro的登录认证,在自定义的realm中,我们实现AuthorizingRealm接口中的方法:packagecom.zs.springboot.realm;importcom.zs.springboot.model.User;importcom.zs.springboot.service.UserService;importcom.zs.springboot.util.ResultUtil;importorg.apache.shiro.SecurityUtils;importorg.apache.shiro.authc.... 继续阅读 >
202010-07 如何在springBoot下搭建日志框架 1.日志框架的选择:(这两个框架,springBoot已经整合,无需引入jar包)2.在resources目录下配置logback-spring.xml<?xmlversion="1.0"encoding="UTF-8"?><configuration><!--控制台的日志输出的配置--><appendername="consoleLog"class="ch.qos.logback.core.ConsoleAppender"><!--输出日志的格式设置--><layoutclass="ch.qos.logback.classic.PatternLayout"><pattern>%d-%msg%n... 继续阅读 >
202010-07 简单了解springboot加载配置文件顺序 1、目录结构Application属性文件,按优先级排序,位置高的将覆盖位置当前项目目录下的一个/config子目录当前项目目录项目的resources即一个classpath下的/config包项目的resources即classpath根路径(root)二、读取顺序如果在不同的目录中存在多个配置文件,它的读取顺序是:1、config/application.properties(项目根目录中config目录下)2、config/application.yml3、application.properties(项目根目录下)4、applica... 继续阅读 >
202010-07 SpringBoot集成WebSocket长连接实际应用详解 前言:一、WebSocket之初出茅驴官方定义:WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。是真正的双向平等对话,属于服务器推送技术的一种。太官方啦,还是博主过来翻译一下吧:WebSocket技术只需要service和cl... 继续阅读 >
202010-07 Springboot自动装配实现过程代码实例 创建一个简单的项目:<?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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.spri... 继续阅读 >
202010-07 Springboot jar主清单属性丢失解决方案 在开发中,用到springboot项目,当打包后部署运行时,出现了这个问题,网上搜了好多,又是加META-INF配置,又是加啥的,感觉springboot这么方便,这种问题怎么可能会搞这么复杂,于是研究了一下:首先我们项目要依赖springboot的parent或者引入spring-boot-dependencies或者这样就将springboot的pom文件导入了我们的项目,然后还要再要运行的jar包中写入插件:当使用继承spring-boot-starter-parent时,就会出现标志,表示是继承自... 继续阅读 >
202010-07 基于SpringBoot实现定时发送邮件过程解析 前提:1.Springboot项目2.引入maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>以下代码中涉及到的maven依赖有日志依赖,但是springboot都有集成,不用重新引入依赖Application(程序入口)packagecom.springbootemaildemo;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure... 继续阅读 >
202010-07 springboot对接支付宝支付接口(详细开发步骤总结) 最近需要对接支付宝的支付接口,官方文档写得内容有点分散,整理了一下发布出来,用作记录,同时也希望对不了解情况的人有所帮助,这里以电脑端的网页支付为例。开发主要分为三个步骤:一、生成私钥公钥。二、建立应用。三、沙箱环境。四、接口开发一、生成私钥公钥生成密钥的官网文档:官网文档官方文档讲得已经很详细,按照步骤来即可,记得保存好公钥与私钥,下面需要用到二、建立应用1.首先进入蚂蚁金服开放平台的首页,通过支... 继续阅读 >
202010-07 Springboot Autowried及Resouce使用对比解析 在做项目时,发现项目中加载类时,有的地方使用@Autowired,有的地方使用@Resource在网上搜集了资料共同点@Resource和@Autowired都可以作为注入属性的修饰,在接口仅有单一实现类时,两个注解的修饰效果相同,可以互相替换,不影响使用。不同点@Resource是Java自己的注解,@Resource有两个属性是比较重要的,分是name和type;Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用na... 继续阅读 >
202010-07 Springboot apollo原理及使用方法详解 文章背景如果在springboot中接入apollo官方文档:https://github.com/ctripcorp/apollo/wiki使用官方的apollo演示环境(Demo):106.54.227.205账号/密码:apollo/admin添加配置spring-boot中如何使用pom.xml中添加配置<dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client</artifactId><version>1.1.0</version></dependency>配置文件中添加apollo地址app:id:komilesapollo:meta:http:/... 继续阅读 >
202010-07 详解springboot+aop+Lua分布式限流的最佳实践 一、什么是限流?为什么要限流?不知道大家有没有做过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为一趟地铁的运力是有限的,一下挤进去太多人会造成站台的拥挤、列车的超载,存在一定的安全隐患。同理,我们的程序也是一样,它处理请求的能力也是有限的,一旦请求多到超出它的处理极限就会崩溃。为了不出现最坏的崩溃情况,只能耽误一下大家进站的时间。限流是保证系统高可用的重要... 继续阅读 >
202010-07 Springboot处理CORS跨域请求的三种方法 前言Springboot跨域问题,是当前主流web开发人员都绕不开的难题。但我们首先要明确以下几点跨域只存在于浏览器端,不存在于安卓/ios/Node.js/python/java等其它环境跨域请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。浏览器出于安全的考虑,使用XMLHttpRequest对象发起HTTP... 继续阅读 >
202010-07 SpringBoot如何实现starter原理详解 1、Mybatis自定义配置的分析在我们自定义starter之前我们写了解一下Mybatis是如何实现starter在SpringBoot引入的依赖如下:<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.2</version></dependency>mybatis的maven依赖,主要涉及到的内容,spring.factories、MybatisAutoConfiguration、MybatisProperties我们来看一下META-INF/s... 继续阅读 >
202010-07 springboot中通过lua脚本来获取序列号的方法 序言:事件:此web项目的功能及其简单,就是有客户端来访问redis序列号服务时发送jison报文,项目已经在测试环境成功运行2周了,具体的代码我就直接上了,此博客仅是自己的记录,同学们可做参考!一、工程目录结构二、配置文件1、pom.xml<?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://ma... 继续阅读 >
202010-06 SpringBoot项目中的视图解析器问题(两种) 前言:SpringBoot官网推荐使用HTML视图解析器,但是根据个人的具体业务也有可能使用到JSP视图解析器,所以这里我给大家简单介绍一下这两种视图解析器的具体使用一、解析成JSP页面1.在pom.xml文件中添加相关依赖<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</ar... 继续阅读 >