
Spring Boot
文章平均质量分 83
来吧~,一起学习SpringBoot
848698119
荣辱与共,终成一豪
展开
-
高效地传递事件——Disruptor——简单使用
disruptor.getRingBuffer() 方法通常是在你已经配置并创建了一个 Disruptor 实例后调用的,用于获取与该 Disruptor 实例关联的 RingBuffer。Disruptor 是一个高性能的环形缓冲区(Ring Buffer)库,它用于在多个生产者(Producers)和消费者(Consumers)之间高效地传递事件(Events)。RingBuffer 的大小是固定的,当达到缓冲区的末尾时,写入操作会回绕到缓冲区的开始位置。以上是文心一言生成的,自己写个小demo。原创 2024-10-25 16:17:07 · 566 阅读 · 0 评论 -
java-代码生成器——有了代码生成器两个小时的工作量2分钟完成了
有了代码生成器两个小时的功能做量2分钟完成了,真好用,家人们都肯用。原创 2023-06-17 12:24:27 · 1596 阅读 · 2 评论 -
MySQL主从数据库(主读从写)
Component @Primary //将该Bean设置为主要注入Bean implements DataSource, InitializingBean public class DynamicDataSource extends AbstractRoutingDataSource {//当前使用的数据源标识 public static ThreadLocal < String > name = new ThreadLocal < >();原创 2022-11-20 12:50:41 · 1890 阅读 · 2 评论 -
Docker部署SpringBoot项目——创建镜像——创建容器并启动——查看容器日志——删除容器日志
查看日志的时候会打印出所有的日志,我们不想查看之前的日志,这里提供删除所有日志的命令,就是把本地日志文件给删除。docker run -id -p 主机端口号:容器端口号 --name=容器名字 镜像(app)软件直接拉进去,就可以完成Windows上的文件上传到远程服务器上。可以实时观看容器的日志,不加的查看的是历史记录一下子输出到控制台。最简的方法就是去掉所有注释,亲测有效,可以用下边的配置。后边可能还会用到关闭容器,启动容器,这里提供一下命令。通过命令查看,已经上传成功了。原创 2022-10-15 23:35:15 · 3375 阅读 · 2 评论 -
SpringBoot集成mongodb——MongoTemplate 与 MongoRepository 两种方式CRUD
spring-data-mongodb,提供了MongoTemplate 与 MongoRepository 两种方式访问mongodb,MongoRepository操作简单,MongoTemplate操作灵活,我们在项目中可以灵活适用这两种方式操作mongodb ,MongoRepository的缺点是不够灵活,MongoTemplate,正好可以弥补不足。模糊查询这里需要注意,如果实体中包含多个实体,那么我们在对某个字段做模糊查询的时候,要设置其他字段。创建一个接口继承另一个接口。原创 2022-10-07 21:29:32 · 2544 阅读 · 0 评论 -
SpringCache+Redis缓存数据——相关依赖,配置类,核心配置,注解
自Spring 3.1起,提供了类似于@Transactional注解事务的注解Cache支持,且提供了Cache抽象,方便切换各种底层Cache (如: redis )根据方法对其返回结果进行缓存,下次请求时,如果缓存存在,则直接读取缓存数据返回;如果缓存不存在,则执行方法,并把返回的结果存入缓存中。使用该注解标志的方法,每次都会执行,并将结果存入指定的缓存中。2,通过注解Cache 可以实现类似于事务一样,缓存逻辑透明的应用到我们的业务代码上,且只需要更少的代码就可以完成;4,支持比较复杂的缓存逻辑;原创 2022-10-05 22:13:45 · 2563 阅读 · 0 评论 -
EasyExcel使用(读、写操作)
在实体属性中添加注解,设置Excel工作表中的列名。读操作,我们需要定位到Excel表格中的第几列。原创 2022-10-05 15:10:34 · 2775 阅读 · 0 评论 -
logback日志输出优化
Logback和log4非常相似,如果你对 @log4很熟悉,那对 logback很快就会得心应手。spring boot内部使用Logback 作为日志实现的框架。日志输出文件的地址修改。原创 2022-10-02 10:47:04 · 2552 阅读 · 0 评论 -
表单提交RESTful风格——GET,POST,DELETE,PUT 4种方式处理源码
RESTful手动关闭配置(默认就是关闭的,这里可以直接删除这条配置),这里的开启和关闭只会影响表单的提交DELETE和PUT请求,这两种请求是放在POST请求表单中的隐藏方法中,开启配置的时候请求拦截POST请求,读取隐藏的方法,把隐藏的方法替代POST请求,进而达到“偷梁换柱”的目的;开启配置后,表单提交POST中含隐藏方法的会被拦截,拦截后读取POST提交表单中隐藏方法_method的值,不开启配置会直接按照POST请求处理。首页:http://localhost:8080/原创 2022-09-19 16:45:44 · 4444 阅读 · 1 评论 -
MyBatis-Plus——条件构造器——QueryWrapper查询条件封装
例: orderBy(true, true, “id”, “name”)—>order by id ASC,name ASC。例: orderByDesc(“id”, “name”)—>order by id DESC,name DESC。例: orderByAsc(“id”, “name”)—>order by id ASC,name ASC。AbstractWrapper: 用于查询条件封装,生成sql的where条件。orderBydesc排序:ORDER BY 字段, …原创 2022-09-12 20:39:21 · 5681 阅读 · 3 评论 -
MyBatis-Plus——查询和删除(逻辑删除)
数据库表中添加了deleted字段,0表示未删除,1表示已删除;所以在我们操作查询操作的时候,只能查询到状态为0未删除的记录。MP默认配置是1表示已删除,0表示未删除;︰真实删除,将对应数据从数据库中删除,之后查询不到此条被删除数据;逻辑删除之后数据库表中的deleted字段的值就改为1已删除状态了。为"被删除状态”,之后在数据库中仍旧能看到此条数据记录。只有deleted字段的值为0的状态,才能执行删除语句。设置初始值(创建属性时设置初始值为0,0表示未删除)︰假删除,将对应数据中代表是否被删除字段。原创 2022-09-12 18:48:02 · 11373 阅读 · 3 评论 -
MyBatis-Plus——实现乐观锁
执行更新时,set version = newVexsion where version = oldVersion。乐观锁每次修改数据后的版本号都会被修改,利用这个原理模拟测试一下数据修改后的版本号是否变化。当要更新一条记录的时候,希望这条记录没有被别人更新,也就是说实现线程安全的数据更新·针对于某一问题的解决方案,多线程或并发操作中产生的一些问题——丢失更新。创建实体类的对象属性——版本号操作属性上添加注释@Version。2. 然后我们开始测试,先查询获取版本号然后做修改。取出记录时,获取当前。原创 2022-09-12 13:11:22 · 4493 阅读 · 4 评论 -
MyBatisPlus——多表查询——多条件查询——分页查询
这四个注解由MyBatis提供,MyBatis-Plus只是对。Mapper之间的调用,需要找到表与表之间的映射关系,的操作进行了增强,对于多表的查询并没有做任何的修改。实现复杂关系映射,可以使用。组合完成复杂关系的配置。原创 2022-09-03 23:26:45 · 5978 阅读 · 0 评论 -
MyBatis-Plus——ORM——接口注解和接口继承实现CRUD操作——自动填充——mybatis日志
对象关系映射)是为了解决面向对象与关系数据库存在的互不匹配现象的一种技术。ORM通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据库中。ORM框架的本质是简化编程中操作数据库的编码。MyBatis是一款优秀的数据持久层ORM框架,被广泛地应用于应用系统。...原创 2022-08-31 16:42:07 · 4161 阅读 · 1 评论 -
构建RESTful服务——使用Swagger生成Web API文档
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,是非常流行的API表达工具。Swagger能够自动生成完善的RESTful API文档,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。...原创 2022-08-30 18:07:57 · 3415 阅读 · 0 评论 -
SpirngBoot上传图片的两种方式——本地——OSS对象存储
【代码】SpirngBoot实现文件上传功能——文件上传原理——Postman接口测试。原创 2022-08-30 15:31:03 · 4064 阅读 · 0 评论 -
IDEA2021.2之后的版本——开发环境热部署
使用optional=true表示依赖不会传递,即该项目依赖devtools;其他项目如果引入此项目生成的JAR包,则不会包含devtools。设置热部署生效,重启目录,和内容修改不重启目录(有些静态的资源的修改没有必要重新部署)打开Settings页面,在左边的菜单栏依次找到。...原创 2022-08-30 13:07:29 · 3290 阅读 · 1 评论 -
SpringBoot综合案例——Dubbo-Zookeeper-MyBatis-MySQL-Redis
配置多环境的配置文件通过核心配置文件application.properties指定使用哪个环境配置文件。Dubbo Zookeeper MyBatis MySQL Redis 接口工程。使用MyBatis的逆向生成插件生成数据库表对应的实体类、映射文件、DAO接口。多模块管理(父工程),接口工程,生产者,消费者。父工程管理,接口工程、生产者、消费者三个工程。先启动Zookeeper、Redis服务。通过redis- cli命令关闭。URL请求采用RESTful风格。实现接口工程中接口的方法。...原创 2022-08-28 19:09:56 · 3748 阅读 · 0 评论 -
MyBatis逆向工程 —【解决生成多个实体——解决映射文件重复出现BaseResultMap】
这个模型与hierarchical模型相似,除了如果一个实体类只包含一个字段,则不会单独生成此实体类。因此,如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类,会将该字段合并到基本实体类中。MyBatis Generator配置文件context元素有一个defaultModelType属性,这个属性的值会影响实体类(或叫domain类,model类)的生成。Blob等单独生成一个对象,其他简单属性在一个对象中(record class)MBG会在所有生成的实体类之间维护一个继承关系。.....原创 2022-08-27 18:42:23 · 4717 阅读 · 0 评论 -
SpringBoot集成Thymeleaf——关闭页面缓存——设置热部署
在核心配置文件中设置src/main/resources/application.properties。切出编辑器会自动更新启动:不需要重新启动程序,再次访问可以访问到页面更新后的效果。SpringBoot框架集成Thymeleaf的起步依赖。循环遍历Array数组和循环遍历List方法一样。,,在 不重启项目的前提下再次访问。...原创 2022-08-27 15:03:44 · 5226 阅读 · 0 评论 -
SpringBoot集成logback日志—日志配置文件—@Slf4j注解的使用
的文件名作为你的日志配置(如使用logback-spring.xml ,而不是logback.xml),命名为logback-spring.xml的日志配置文件。默认情况下,Mybatis 的 xml 映射文件不会编译到 target 的 class 目录下,所以我们需要在 pom.xml 文件中配置 resource。Spring Boot中默认配置ERROR、WARN和INFO级别的日志输出到控制台。日志打印:日志级别:error。日志打印:日志级别:info。日志打印:日志级别:info。原创 2022-08-21 21:37:10 · 6724 阅读 · 1 评论 -
SpringBoot打war包Tomcat部署——打jar包命令运行
步骤:1.2 核心配置文件1.3 创建控制层1.4 创建页面1.5 程序入口类继承SpringBootServletInitializer类 覆盖configure方法1.6 本地Tomcat启动SpringBoot项目打包默认就是打jar包,jar包端口号和上下文根就是SpringBoot核心配置文件中设置的值和打war包不同这里需要指定打包版本2.2 核心配置文件2.3 本地运行命令:........在dos窗口中输入指令:,其中8080是指你原创 2022-08-07 19:32:20 · 8553 阅读 · 0 评论 -
SpringBoot框架下——设置字符编码——2种实现方式
两种方式都能达到相同的效果,显然第二种方式更为简单,方便。之前的方法过时了,Alt+Enter自定提示转换新版的。原创 2022-08-06 16:12:48 · 5803 阅读 · 0 评论 -
SpringBoot框架下使用过滤器Filter
过滤器的配置比较简单,直接实现Filter 接口即可,也可以通过@WebFilter注解实现对特定URL拦截,看到Filter 接口中定义了。这里只是一个URL请求的过滤,没有制作的请求的页面所以这里请求404找不到页面,咱们目的是测试请求的过滤,,看程序。过滤器配置的过滤路径是/user/*,这里的请求路径是/user/detail,这里成功被过滤了。定义一个拦截器类实现Filter接口实现doFilter方法(每一次请求都会调用)控制台这里打印出过滤器的逻辑处理结果,很很明显过滤了本次请求。...原创 2022-08-02 23:35:20 · 4543 阅读 · 0 评论 -
SpringBoot框架下使用Servlet
和第一种方法相同创建一个Servlet类继承HttpServlet类,实现doGet,doPost方法。SpringBootApplication上使用@ServletComponentScan注解后。@Configuration//该注解将此类定义为配置类,(相当于一个xml配置文件)PrintWriter是有两个方法对页面进行传值的,首先说一下两个方法的。Servlet可以直接通过@WebServlet注解自动注册。@WebServlet配置Servlet请求的URL。...原创 2022-07-31 22:51:58 · 4967 阅读 · 0 评论 -
SpringBoot使用拦截器
2. 创建一个配置类InterceptorConfig.java3. 创建实体4. Controller层5. 运行结果拦截后重定向:原创 2022-07-31 22:02:16 · 4025 阅读 · 0 评论 -
SpringBoot 工程的启动LOGO——关闭——修改
在resourses文件夹下创建一个文本文件命名为banner.txt。原创 2022-07-30 22:54:38 · 4302 阅读 · 0 评论 -
SpringBoot 创建非web工程——2种实现方法
创建一个SpringBoot项目,但不是web工程,哦~好像有点多余,,,好奇心驱使着写完了,没有web怎么调用接口的实现类呢,一起期待一波~原创 2022-07-30 21:54:26 · 6381 阅读 · 0 评论 -
SpringBoot集成Dubbo、Redis、MyBatis、Spring、SpringMVC、JSP
创建实体还是直接用MybatisPlus,,,拿来就用接口直接集成封装好的用什么逆向工程生成实体Bean接口,映射文件,DAO接口,,,拿来即用(Idea可以自动生成数据库表对应的实体Bean),,,码农这辈子都不可能的实体记得序列化 :Mybatis-Plus入门 :https://blog.youkuaiyun.com/qq_45896330/article/details/123247828实体Bean (序列化)业务接口2. 服务提供者2.1 添加依赖:Mybatis依赖,Dubbo依赖,zooke原创 2022-07-27 23:06:12 · 4286 阅读 · 0 评论 -
SpringBoot集成Dubbo分布式框架
实体bean记得序列化implementsSerializable。处理浏览器客户端发送的请求,从注册中心调用服务提供者所提供的服务。服务消费者和服务的提供者的相关依赖是一样的,核心配置文件有差异。业务接口的实现类并将服务暴露且注册到注册中心,调用数据持久层。存放实体bean和业务接口。启动后打印的帅气的LOG。......原创 2022-07-23 18:29:21 · 4660 阅读 · 0 评论 -
SpringBoot集成Redis
2. 在SpringBoot的核心配置文件中添加Redis的配置原创 2022-07-03 19:28:57 · 4325 阅读 · 0 评论 -
Java写txt—读txt—清空txt文件
读、写、清空txt文件👍 创建一个txt,操作txt的读取和写入👍 不覆盖的写👍 FileWriter(file,true),true 表示可以将数据写入文件的末尾而不会替换文件原来的内容2.2 读txt👍 以行为单位读取文件内容,一次读一整行2.3 清空txt中的内容👍 这里用的是覆盖的写txt👍 FileWriter(file,true),true 表示末尾追加新数据👍 FileWriter(file),表示新的数据覆盖原来的所有的数据原创 2022-06-02 16:08:12 · 10041 阅读 · 0 评论 -
Easy Excel
EasyExcel快速开始文档:https://www.yuque.com/easyexcel/doc/easyexcel看视频着实有点费时间,看视频2小时没弄懂,看官方文档5分钟可以上手了掉赞👍👍我们可以通过提供的反向工具自动根据生成对应的,不需要人工一行一行的去写了,直接自动生成,只需要设置一个把实体类放在那个文件夹下就Ok 了,然后根据自己的需要稍微的改一改就OK,,爽歪歪😊👍字段名和属性名对应的规则是:字段名中包含下划线‘_’的,属性中会把下划线后边第一个字母大写,驼峰命名👍所以说字段原创 2022-06-02 11:26:59 · 9205 阅读 · 1 评论 -
扩展装配SpringMVC
SpringMVC自动配置官方文档Spring 官方文档:https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-developing-web-applications.html29.1.1 Spring MVC Auto-configuration1.包含视图解析器2.静态资源和支持WebJars3.自动注册类型转换器(前台提交的是一个对象,后台自动封装接收)4.支持HttpMess原创 2022-05-22 13:18:21 · 4290 阅读 · 0 评论 -
SpringBoot 静态资源 - 模板引擎Thymeleaf
SpringBoot1. SpringBoot 静态资源2. 模板引擎——Thymeleaf2.1 Thymeleaf 的使用2.2 Thymeleaf 的基本语法2.2.1 读取文本2.2.2 遍历集合:1. SpringBoot 静态资源2. 模板引擎——ThymeleafSpring 官网文档: https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle/#using-boot-starter 找原创 2022-05-22 11:22:05 · 4380 阅读 · 0 评论 -
双击jar包 运行SpringBoot项目
双击jar包 运行SpringBoot项目1.创建一个SpringBoot项目2.把项目打个jar包3.把jar跑起来3.1找到jar包的位置3.2 方法1——双击jar运行(通过浏览器访问接口)终止进程查询指定端口被占用的进程netstat -aon | findstr 8080查询使用进程号的任务或软件:tasklist | findstr PID强制杀进程taskkill /f /pid 19148线程以被杀死网页访问接口失败3.3 方原创 2022-05-20 18:34:26 · 4955 阅读 · 1 评论 -
SpringBoot集成SpringMVC
1. SpringMVC常见注解@RequestMapping的请求方式如果方法上的@RequestMapping注解没有设置method属性,则请求方式支持:GET和POST请求如果方法上的@RequestMapping注解设置了method属性,则只能是相应的请求方式可以访问。@Controller@ResponseBody@RestController@RequestMapping@GetMapping@PostMapping@PutMapping@DeleteMapp原创 2022-05-08 15:48:35 · 6988 阅读 · 1 评论 -
SpringBoot集成MyBatis——逆向工程生成实体Bean、映射文件、DAO接口
1.SpringBoot集成MyBatis1.1添加mybatis依赖,MySQL驱动pom<!--MySQL驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> &l原创 2022-05-07 17:10:44 · 7270 阅读 · 3 评论 -
SpringBoot集成JSP
1. SpringBoot集成JSP1.1 配置所需依赖pom依赖管理<?xml version="1.0" encoding="UTF-8"?><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原创 2022-05-04 18:30:36 · 5907 阅读 · 0 评论 -
SpringBoot多环境下的配置文件的使用
1. 多环境下的配置文件的使用——.properties1.1开发环境application-dev.properties#开发环境配置文件server.port=8080server.servlet.context-path=/dev1.2测试环境application-test.properties#测试环境的配置文件server.port=8081server.servlet.context-path=/test1.3准生产环境application-ready.原创 2022-05-04 17:11:07 · 8379 阅读 · 0 评论