SpringBoot
文章平均质量分 77
关于SpringBoot的基本使用,springboot版本2.2.1.RELEASE、2.4.2、2.4.3、webjars 3.4.1、swagger2 和-ui 2.9.2、security 3.0.4.RE、shiro 1.5.3、mybatis-SB 2.1.4
LatteCK
想要的东西都很贵,只能不断地努力奔跑
同是风华正茂,怎可甘拜下风
展开
-
Spring Boot中使用Redis实现分布式锁
在获取锁的过程中,如果锁不存在或锁已经过期,我们就使用multi()开启一个事务,并将set()和expire()操作打包在事务中,然后使用exec()执行事务。为了避免多个线程同时修改锁的值,我们使用watch()监视锁的key,在事务开始前,先将锁的key监视起来,这样在事务执行期间,如果有其他线程修改了锁的值,就会取消当前事务的执行,从而避免了并发问题。因此,在锁的获取和释放过程中,我们可以将多个Redis操作打包成一个事务,这样就可以保证原子性。下面是一种基于Lua脚本的分布式锁实现方式。原创 2023-04-17 15:54:10 · 1404 阅读 · 0 评论 -
ajax调用controller后页面无法跳转的问题与传递中文参数问题
ajax调用controller后页面无法跳转的问题问题发现与解析:当我们使用SpringMVC/SpringBoot进行web开发时,在一个controller的方法中,只要返回页面名字的字符串即可实现页面跳转,但是当我们使用ajax异步调用controller的时候,会发现跳转失败,然后输出测试,发现会返回当前页面请求success的位置,将要跳转到的页面的数据返回来,而不是进行跳转解决方法:controller:@RequestMapping("/tosearch") public原创 2021-07-07 19:22:52 · 504 阅读 · 0 评论 -
SpringBoot读取Resource下文件的四种方式
SpringBoot读取Resource下文件的四种方式1、ClassPathResource classPathResource = new ClassPathResource("/static/image/a.jpg");InputStream inputStream =classPathResource.getInputStream();2、InputStream inputStream = Thread.currentThread().getContextClassLoader().ge原创 2021-07-07 13:20:32 · 4406 阅读 · 0 评论 -
Springboot带参数的的两种访问形式
Springboot带参数的的两种访问形式http://localhost:9000/test/test1?id=1@RestController@RequestMapping("/test")public class TestController { @RequestMapping("/test1") public void say(@RequestParam("id") Integer id) { System.out.println("访问成功");原创 2021-06-27 22:19:48 · 272 阅读 · 0 评论 -
SpringBoot中注入RedisTemplate报空指针
SpringBoot中注入RedisTemplate报空指针RedisTemplate不能作为静态变量注入, 否则报空指针原创 2021-06-26 23:52:42 · 970 阅读 · 3 评论 -
exe4j打包springboot项目大坑
exe4j打包springboot项目大坑然后在main class 选择:org.springframework.boot.loader.JarLauncher类启动,按道理来说应该选择自己的启动类的,但是打包不行,选择这个才能正常原创 2021-05-29 14:49:47 · 788 阅读 · 2 评论 -
SpringBoot添加SSL证书---全网靠谱系列
SpringBoot添加SSL证书—全网靠谱系列一、先进行域名的购买域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云记录值这里填你的服务器的IP 地址二、申请SSL证书阿里云提供免费的SSL证书,一个人可以申请20个找到这里提交获取然后进行证书的申请填个人信息,填完一步步保存提交后显示这样说明成功然后根据自己的需要选择证书的下载这里我用的是SpringBoot项目里面内置了tomcat所以下载了tomcat的下载得到一个压缩包,解压后得到原创 2021-05-12 23:17:06 · 1487 阅读 · 17 评论 -
SpringBoot之Shiro使用
SpringBoot之Shiro使用一、Shiro简介1、Shiro 是什么?Apache Shiro 是 Java 的一个安全(权限)框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、缓存等。下载地址官网:http://shiro.apache.org/github:https://github.com/apache/shiro2原创 2021-02-21 21:18:06 · 864 阅读 · 0 评论 -
SpringBoot之使用Security
SpringBoot之使用Security一、安全简介1、在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因原创 2021-02-21 21:00:28 · 775 阅读 · 1 评论 -
SpringBoot之Dubbo和Zookeeper集成
SpringBoot之Dubbo和Zookeeper集成一、什么是分布式系统?在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的原创 2021-02-21 20:28:23 · 115 阅读 · 0 评论 -
SpringBoot之任务
SpringBoot之任务一、异步任务创建一个service包创建一个类AsyncService异步处理还是非常常用的,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。编写方法,假装正在处理数据,使用线程设置一些延时,模拟同步等待的情况;@Servicepublic class AsyncService { public void hello(){ try {原创 2021-02-21 19:41:01 · 97 阅读 · 0 评论 -
SpringBoot之使用Swagger
SpringBoot之使用Swagger一、Swagger简介前后端分离Vue+SpringBoot后端时代:前端只用管理静态页面;html==>后端。模板引擎JSP=>后端才是主力前后端分离时代前端 -> 前端控制层、视图层伪造后端数据,json。已经存在了,不需要后端,前端工程队依旧能够跑起来后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合产生的问题前后端集成联调,前端或者后端无法做到“及时协商,尽早解决原创 2021-02-21 19:20:29 · 172 阅读 · 0 评论 -
SpringBoot之国际化
SpringBoot之国际化一、准备工作先在IDEA中统一设置properties的编码问题![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RHvEjvVJ-1613898590602)(SpringBoot13:页面国际化.assets/1595594403624.png)]编写国际化配置文件,抽取页面需要显示的国际化页面消息。我们可以去登录页面查看一下,哪些内容我们需要编写国际化的配置!配置文件编写我们在resources资源文件下新建一个i18n(int原创 2021-02-21 17:19:55 · 399 阅读 · 0 评论 -
SpringBoot之MVC自动配置原理
SpringBoot之MVC自动配置原理一、官网阅读在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。只有把这些都搞清楚了,我们在之后使用才会更加得心应手。途径一:源码分析,途径二:官方文档!地址 :https://docs.spring.io/spring-boot/docs/2.4.3.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-auto-confi原创 2021-02-21 17:04:35 · 224 阅读 · 0 评论 -
SpringBoot之jsp的使用
SpringBoot之jsp的使用1、选择war包,不然会失败,如果直接在maven改packing会因为没有生成第二步的类报错,无法使用2、看看有没有生成,没有这个会报错3、导入pom<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!--对jsp的支持-->原创 2021-02-20 22:56:46 · 99 阅读 · 0 评论 -
SpringBoot之Thymeleaf使用
SpringBoot之Thymeleaf使用一、模板引擎前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的,关于如何使用jsp可以看下一篇文章。原创 2021-02-20 22:35:54 · 154 阅读 · 0 评论 -
SpringBoot之Web的使用
SpringBoot之Web的使用一、简介其实SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配。使用SpringBoot的步骤:1、创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好2、手动在配置文件中配置部分配置项目就可以运行起来了3、专注编写业务代码,不需要考虑以前那样一大堆的配置了。要熟悉掌握开发,之前学习的自动配置的原理一定要搞明白!比如SpringBoot到底帮我们配置了什么?我们能原创 2021-02-20 22:19:14 · 700 阅读 · 0 评论 -
SpringBoot之使用MyBatis
SpringBoot之使用MyBatis官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.3整合测试导入 MyBatis 所需要的依赖<dependency> <原创 2021-02-20 21:49:49 · 107 阅读 · 0 评论 -
SpringBoot之使用Druid
SpringBoot之使用Druid一、Druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot原创 2021-02-20 15:36:56 · 882 阅读 · 0 评论 -
SpringBoot之整合使用JDBC
SpringBoot之整合使用JDBC一、SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:https://spr原创 2021-02-20 15:05:18 · 111 阅读 · 1 评论 -
SpringBoot之自定义Starter
SpringBoot之自定义Starter一、 说明启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库;命名归约:官方命名:前缀:spring-boot-starter-xxx比如:spring-boot-starter-web…自定义命名:xxx-spring-boot-starter比如:mybatis-spring-boot-starter二、编写启动器在IDEA中新建一个空项目 spring-boot-starter-di原创 2021-02-20 14:55:37 · 74 阅读 · 0 评论 -
SpringBoot之自动配置原理
SpringBoot之自动配置原理配置文件到底能写什么?怎么写?----可以看---- spring.factoriesSpringBoot官方文档中有大量的配置,我们无法全部记住,官网:https://docs.spring.io/spring-boot/docs/2.4.3.RELEASE/reference/html/appendix-application-properties.html#core-properties分析自动配置原理SpringBoot启动的时候加载主配置类,开启了自原创 2021-02-20 14:45:27 · 91 阅读 · 1 评论 -
SpringBoot之JSR303校验和多环境切换
SpringBoot之JSR303校验和多环境切换一、JSR303数据校验1、先看看如何使用Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;1、添加validation启动器<dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp原创 2021-02-20 00:16:28 · 91 阅读 · 0 评论 -
SpringBoot之yaml
SpringBoot之yaml一、 yaml语法学习配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yaml语法结构 :key:空格 value配置文件的作用 : 修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;比如我们可以在配置文件中修改Tomcat 默认启动的端口号!测试一下!serve原创 2021-02-19 23:20:37 · 161 阅读 · 0 评论 -
SpringBoot之基本原理
SpringBoot之基本原理我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起;一、父依赖pom.xmlspring-boot-dependencies:核心依赖在父工程中!我们在写或者引入一些Springboot依赖的时候,不需要指定版本,就因为有这些版本仓库1、其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframewo原创 2021-02-19 23:03:47 · 273 阅读 · 0 评论 -
SpringBoot之基本使用
SpringBoot之基本使用一、第一个SpringBoot程序1、准备工作我的环境准备:jdk1.8Maven-3.6.0SpringBoot 2.4.3IDEAtomcat 92、创建基础项目说明Spring官方提供了非常方便的工具让我们快速构建应用Spring Initializr:https://start.spring.io/项目创建方式一: 在官网使用Spring Initializr 的 Web页面创建项目1、打开 https://start原创 2021-02-19 22:42:27 · 281 阅读 · 0 评论 -
SpringBoot之基本概念
SpringBoot概念一、什么是SpringSpring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。可以看我之前的文章关于spring的介绍与使用二、Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;2、通过IOC,依赖注入(DI)和面向接原创 2021-02-19 22:24:30 · 180 阅读 · 0 评论