
spring boot
文章平均质量分 68
以spring boot项目为基础,学习并记录spring boot项目的开发,及中间件的学习
李巴巴
smile
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
springboot实现主从数据库动态切换(注解式)
Overridelogger.info("使用数据源:{}", dataSource);}}重写 determineCurrentLookupKey方法,返回要使用的数据源key值。以上两个类解决了动态数据源key值的问题,下面处理初始化targetDataSources对象。原创 2022-09-08 21:34:10 · 3036 阅读 · 1 评论 -
Linux云服务器安装部署redis详细步骤
大多数企业都是基于 Linux 服务器来部署项目,而且 Redis 官方也没有提供 Windows 版本的安装包,因此我们需要掌握基于 Linux 系统来安装 Redis.此处选择的 Linux 版本为CentOS 7.Redis 的官方网站地址:Redis1. 单机安装Redis1.1安装Redis依赖Redis 是基于 C 语言编写的,因此首先需要安装 Redis 所需要的 gcc 依赖:yum install -y gcc tcl1.2 上传安装包并解压① .原创 2022-05-21 01:02:00 · 1536 阅读 · 1 评论 -
SSM 整合详细步骤与配置(纯注解)
SSM(Spring + SpringMVC + MyBatis)是功能强大的开发框架,要使用它我们首先要学会如何将这三大模块整合起来,本篇文章我们就来实现 SSM 的整合!!!整合流程主要分为以下三块(第三部分主要是功能测试模块):建立工程、Spring配置、Spring整合MyBatis配置、Spring整合SpringMVC配置等等。此外,我们还会通过实例演示以下整合之后框架的使用。原创 2022-05-18 20:20:59 · 5112 阅读 · 2 评论 -
Spring注解集成MyBatis(双数据源配置)
Spring 集成 MyBaits 有 xml 配置文件和注解两种方式,在实际开发中,注解的方式是较为简便、使用较多的,下面我们就来介绍Spring 是如何通过注解的方式集成 MyBatis 的?在介绍 spring 集成 mybaits 之前,我们先来看一看 mybaits 程序独立开发是如何做的?① mybaits-config 配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configu...原创 2022-05-17 23:55:40 · 1594 阅读 · 0 评论 -
Mybatis分页插件——PageHelper快速入门
在实际工作中,有很多进行列表查询的场景,我们往往都需要做两个步骤:1. 查询所需页数对应数据;2. 统计符合条件的数据总数;而这,又会导致我们必然至少要写2个sql进行操作。这无形中增加了我们的工作量,另外,当发生需要变动时,我们又需要同时改动这两个sql,否则必然导致结果的不一致。因此,我们需要一个简单易用的分页工具来帮我们完成这个工作了,需求明确,至于如何实现则各有千秋。而我们要说的 pageHelper则是这其中实现比较好的一件的组件了,我们就一起来看看如何使用它进行提升工作效率吧!原创 2022-05-16 16:57:51 · 10260 阅读 · 1 评论 -
@Configuration 和 @Component 到底有啥区别?
Spring 注解中 @Configuration 和 @Conponent 区别总结为一句话就是:@Configuration 中所有带 @Bean 注解的方法都会被动态代理(cglib),因此调用该方法返回的都是同一个实例。而 @Conponent 修饰的类不会被代理,每实例化一次就会创建一个新的对象。原创 2022-04-25 18:42:39 · 19935 阅读 · 7 评论 -
定时任务调度框架Quartz
一、简介1.1 什么是QuartzQuartz,定时任务框架,是由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能, 但就其简易形式看,你会发现它易用得简直让人受不了!简单地创建一个实现org.quartz.Job接口的java类。Job接口包含唯一的方法:public void execute(JobExecutionContext context) throws JobExecutionException...原创 2022-02-25 21:34:20 · 2500 阅读 · 0 评论 -
Spring Security登录的认证和授权
一、Spring Security简介Spring Security是一个专注于为Java应用程序提供身份认证和授权的框架,是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了......原创 2022-02-21 22:35:36 · 4441 阅读 · 0 评论 -
Elasticsearch(一个基于分布式的搜索引擎)
一、Elasticsearch入门【Elasticsearch简介】Elasticsearch,简称ES,是一个分布式、高扩展、高实时、以及 Restful 风格的搜索引擎。它能很方便的使大量数据具有搜索、分析和探索的能力,支持对各种类型的数据的检索,且搜索速度快,可以提供实时的搜索服务。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值,每秒可以处理PB级海量数据。Elasticsearch 的实现原理:主要分为以下几个步骤,首先用户将数据提交到 Elasticse原创 2022-02-16 19:41:01 · 1601 阅读 · 2 评论 -
Kafka入门(构建TB级异步消息系统)及Spring整合Kafka
一、阻塞队列在学习Kafka之前,我们需要先了解阻塞队列、以及生产者和消费者模式。图中:Thread-1为生产者,put往队列里存数据,当队列已满时,该方法将阻塞; Thread-2为消费者,take从队列里取数据,当队列已空时,该方法将阻塞;阻塞队列用于解决线程异步通信的问题,同时在生产者和消费者之间建立了缓冲,提高了系统的性能。阻塞队列BlockingQueue是一个接口,我们需要通过其实现类来调用。具体实现如下:【生产者线程】class Prod...原创 2022-02-11 14:17:11 · 1602 阅读 · 1 评论 -
SpringBoot集成jsp(详细配置)
SpringBoot默认支持的前端页面是thymeleaf,如果要使用jsp页面,则需要完成以下几个步骤:【1】在main目录下创建一个webapp目录,并把它设置为web资源文件夹,用来装载jsp文件设置完之后的webapp文件夹样式如下图:【2】在pom.xml文件中引入SpringBoot内嵌Tomcat对jsp的解析包<dependencies> <!--用于编译、展示jsp页面的解析包--> <dependency..原创 2022-02-05 11:03:58 · 8869 阅读 · 1 评论 -
springboot项目打成jar包和war包,并部署(快速打包部署)
War和Jar的区别:通过jar运行实际上是启动了内置的tomcat,所以用的是应用的配置文件中的端口通过war直接部署到tomcat之后,内置的tomcat就不会启用,所以相关配置就以安装的tomcat为准,与应用的配置文件就没有关系了...原创 2022-02-10 16:51:00 · 7162 阅读 · 2 评论 -
SpringBoot多环境下的主核心配置文件
在工作中,一个项目的诞生需要经历开发、测试、准生产、生产等多个步骤,在不同的步骤中我们使用的配置文件也可能存在不同,因此,我们需要对不同的环境配置相应的配置文件,并在主核心配置文件中选择我们当前要使用的配置文件。自定义配置文件命名格式:"application-" + 自定义名 + ".properties"【application-dev.properties】开发环境配置文件# 开发环境配置文件server.port=8080server.servlet.context-path=原创 2022-02-05 00:32:30 · 645 阅读 · 0 评论 -
Spring中常用的配置/方法
1、引入Apache Commons Lang包commons lang包是日常开发中,可以参考和借助的工具包,其包含null safe安全操作比较常用的工具类有:ArrayUtils:数组工具类,提供数组拷贝、查找、反转等功能StringUtils:提供字符串操作,对null是安全的,字符串查找、替换、分割、去空格等操作ObjectUtils:对null进行安全处理RandomUtils:随机数工具类,获得随机整数、小数、字符串等NumberUtils:数值工具类,数值类型转换等操作原创 2022-02-04 17:43:51 · 909 阅读 · 0 评论 -
Redis优化模块(存储验证码、存储登录凭证、缓存用户信息)
一、使用Redis存储验证码验证码需要频繁地访问与刷新,对性能要求较高 验证码不需要永久保存,通常在很短的时间内就会失效 分布式部署时,存在Session共享的问题以登录模块验证码(一分钟失效)为例:1. 在登录之前,需要有一个凭证来短暂地映射该用户,对此,我们随机生成一个字符串来作为Redis的key,并将其存入cookie中以便登录时获取。// 验证码的归属String kaptchaOwner = CommunityUtil.generateUUID();// 自定义的获取随机字原创 2022-02-04 17:09:59 · 7005 阅读 · 0 评论 -
Spring--AOP基础入门
什么是AOP?AOP(Aspect Oriented Programming),即面向切面(方面)的编程。通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。 AOP是一种编程思想,是对OOP(面向对象编程)的补充,两者是互补的。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 在开发时,我们的程序通常会有多个业务模块,多个业务模块有时会有相同的业务需求,比如:统...原创 2022-02-02 10:39:55 · 538 阅读 · 0 评论 -
Redis的基础入门及SpringBoot整合Redis
一、Redis初体验Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API【Key-Value数据库】Redis是一款基于键值对的NoSQL(非关系型)数据库,它的值支持多种数据结构,例如:字符串(Strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。...原创 2022-01-28 23:09:25 · 1669 阅读 · 0 评论 -
事务管理--(Spring两种方式)
一、什么是事务?事务是由步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行二、事务的特性(ACID)1. 原子性事务是一个不可分割的最小工作单位,事务中的操作要么都发生,要么都不发生2. 一致性事务必须是数据库从一个一致性的状态变换到另外一个一致性的状态3. 持久性事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响4. 隔离性一个事务的执行不能被其他事务所干扰,即一个事务内部的操......原创 2022-01-28 17:45:32 · 12255 阅读 · 0 评论 -
SpringBoot对异常的统一处理
Spring Boot默认提供了一种映射到错误页面/error的机制来处理所有的错误,可以映射到名为404或500等的错误页面,但此种机制存在局限性。为此,SpringBoot提供了注解的方式自定义统一处理服务器500错误机制。@ControllerAdvice注解表示我们定义的是一个控制器增强类,当其他任何控制器发生异常且异常类型符合@ExceptionHandler注解中指定的异常类时,原请求将会被拦截到这个我们自定义的控制器方法中。 其annotations参数表示我们要拦截的带有指定注解的类原创 2022-01-23 14:24:49 · 1482 阅读 · 0 评论 -
SpringBoot如何使用前缀树过滤敏感词
一、前缀树一般设计网站的时候,会有问题发布或者是内容发布的功能,这些功能的有一个很重要的点在于如何实现敏感词过滤,要不然可能会有不良信息的发布,或者发布的内容中有夹杂可能会有恶意功能的代码片段,敏感词过滤的基本的算法是前缀树算法,前缀树也就是字典树,通过前缀树匹配可以加快敏感词匹配的速度。前缀树又称为Trie、字典树、查找树。主要特点是:查找效率高,但内存消耗大;主要应用于字符串检索、词频统计、字符串排序等。到底什么是前缀树?前缀树的功能是如何实现的?...原创 2022-01-16 17:20:21 · 1183 阅读 · 0 评论 -
Spring生成验证码
一、导入jar包在pom.xml文件中导入依赖Maven Repository: com.github.penggle » kaptcha (mvnrepository.com)https://mvnrepository.com/artifact/com.github.penggle/kaptcha二、编写Kaptcha配置类import com.google.code.kaptcha.Producer;import com.google.code.kaptcha.impl.Defaul原创 2022-01-12 13:03:38 · 1081 阅读 · 0 评论 -
Spring中使用thymeleaf对html代码复用
原创 2022-01-09 14:34:08 · 736 阅读 · 0 评论 -
Spring拦截器的示例与应用
目录一、拦截器示例1. 定义拦截器,实现HandlerInterceptor2. 配置拦截器,为它指定拦截、排除的路径二、拦截器应用1. 在请求开始时查询用户登录2. 在本次请求中持有用户数据3. 在模板视图上显示用户数据4. 在请求结束时清理用户数据一、拦截器示例1. 定义拦截器,实现HandlerInterceptor接口import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org原创 2022-01-13 16:09:31 · 1033 阅读 · 0 评论 -
Spring写sql语句的两种方法
一、在Mapper接口中加注解优点:书写方便,不需要再新建一个xml文件缺点:不易观察分析,当sql语句较长时,不易书写import com.nowcoder.community.community.entity.LoginTicket;import org.apache.ibatis.annotations.*;@Mapperpublic interface LoginTicketMapper { // 习惯在每个""最后加上空格,防止拼接字符串时出错 @Inser原创 2022-01-12 17:22:12 · 3248 阅读 · 0 评论 -
Spring发送邮箱功能
目录一、邮箱设置二、Spring Email1. 导入jar包2. 邮箱参数配置3. 使用JavaMailSender发送邮件(工具类)三、模板引擎一、邮箱设置启用客户端SMTP服务二、Spring Email1. 导入jar包在Maven Repository仓库中可以粘贴复制配置代码到pom.xml文件中:Maven Repository: org.springframework.boot » spring-boot-starter-mail (mvnr.原创 2022-01-09 14:00:24 · 1627 阅读 · 0 评论 -
Spring Boot中日志文件的配置
在resources的目录下引入logback-spring.xml文件: 把info、warn、error级别的文件分别保存到指定路径的不通过文件中,并规定每个文件的大小和保存时间等。<?xml version="1.0" encoding="UTF-8"?><configuration> <contextName>community</contextName> <!-- 日志存储的路径,根据自己的需要改动 ...原创 2022-01-07 23:47:22 · 578 阅读 · 0 评论 -
Spring分页功能
Spring分页功能原创 2022-01-07 14:36:22 · 1297 阅读 · 0 评论