自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 收藏
  • 关注

原创 Java知识点总结

主要是自己学习过程中总结的一些知识点的连接,方便查找没啥技术性的东西,有看到的小伙伴们可以批评指正

2021-03-03 20:33:28 1468 2

原创 单元测试Junit

如果使用的是 org.junit.jupiter(Junit5) 测试引擎替换了原来的Junit4作为核心模块提供测试服务的话,就不能使用@RunWith()了,因为这个是junit4使用的,它用RunWith指向Spring的测试模块。如果想在测试类中使用诸如 @Autowired 直接导入IOC中的对象时,需要整合Junit,并使用运行器来设置配置文件的位置,来告诉Junit,让它为我们创建Spring容器。@Profile是Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能。

2023-03-29 20:30:12 253 2

原创 SpringBoot中的拦截器和过滤器

Filter:过滤器,JavaWeb 的三大组件之一。属于JavaEE 的规范,是javax.servlet.Filter接口。过滤器的主要作用是:拦截请求、过滤响应。常见的应用场景为:权限检查、日记操作、处理不合法数据,统一进行编码设置…等。SpringBoot是利用@WebFilter配置Filter@WebFilter常用属性属性类型是否必需说明boolean否指定Filter是否支持异步模式否指定Filter对哪种方式的请求进行过滤。

2023-03-25 12:07:55 479

原创 SpringBoot 中配置日志

所以SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可。在项目开发中,日志十分的重要,通过日志分析能解决很多问题,也能获取很多信息,Spring Boot 选用 SLF4J + Logback 的组合来搭建日志系统,并用INFO级别输出到控制台。将一些信息打印到控制台,现在可以使用 日志打印信息,这样速度更快。级别的日志输出到控制台,当然也可以根据其级别和输出的格式,在yml文件中配置。

2023-03-23 12:01:26 255

原创 SpringBoot中关于时间显示格式的处理

当然不想每个实体类都添加注解的话,也可以配置全局生效。(@JsonFormat的优先级更高,配置了@JsonFormat后,全局的不生效)我们从数据库获取的时间,在显示中可能是这样的。所以我们需要在实体类中使用注解。,来修改时间的格式(

2023-03-23 11:54:05 722

原创 SpringBoot集成Redis

相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便与其他Spring框架进行搭配使用,是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装。Jedis的依赖:Jedis是Redis官方推出的一款面向Java的客户端,提供了很多接口供Java语言调用。创建redis的config类,设置RedisTemplate的序列化配置。

2023-03-23 11:52:32 295

原创 SpringBoot开启任务(异步任务、定时任务、邮件任务)

使用 @Scheduled(cron=“秒分时日月周几”)注解 来设置什么时候执行。可以让程序新开一个线程去执行该任务,而使用户在使用时界面不会因为程序而卡顿。在springboot的启动类中添加开启异步任务的注解。在controller方法中添加异步的注解。定时任务中需要用到cron 表达式。在yml文件中配置发送邮箱的信息。开启支持定时任务的注解。

2023-03-23 11:34:32 337

原创 SpringBoot集成Swagger

现在的编程从后端时代向逐渐编程后端分离的时代,前后端通过API接口进行交互,前后端相对独立,于是Swagger就产生了,它是一个简单但功能强大的API表达工具,号称最流行的API框架。使用Swagger生成API,我们可以得到交互式文档,自动生成代码的SDK以及API的发现特性等。Swagger官网Vue+Springboot 是现今主流的前后端分离的方案。

2023-03-23 11:29:56 202

原创 SpringBoot集成Lombok

我们在编写实体类时,通常都是将属性设置成 private ,然后编写get 和set 方法对象属性信息获取和修改,而Lombok就是一个通过注解的方式减少get、set方法、构造方法等等的编写。使用在实体类中,不需要写set、get等方法,添加上 @Data 注解后会自动生成这些方法。idea安装lombok的插件。导入lombok依赖。

2023-03-23 10:51:57 115

原创 SpringBoot使用RestFul风格路径

RestFul风格是一种当前比较流行的互联网软件架构模式,它利用HTTP 协议的特性,规定了一套资源获取的方式,,它可以使软件更简洁,更有层次,易于实现缓存等机制。访问路径都为http://localhost:8080/user,但根据不同的访问方式实现了增删改查四种操作。SpringBoot因为本身就继承了SpringMVC,所以使用RestFul和SpringMVC一样。传统的资源操作是通过不同的参数来实现的。使用MockMvc对其进行测试。

2023-03-23 10:51:46 183

原创 SpringBoot中四种异常处理的方式

SpringBoot 默认的异常处理机制:一旦程序中出现了异常 SpringBoot 就会请求 /error 的 url。在 SpringBoot 中提供了一个叫 BasicExceptionController 来处理 /error 请求,它会跳转到默认显示异常的页面来展示异常信息。不过我们可以在 resources/templates/ 内添加 error 页面来自定义异常页面,名字和路径不能更改,因为BasicExceptionController 默认跳转到这此路径。

2023-03-23 10:50:02 1484

原创 SpringBoot测试(Junit单元测试、MockMvc测试Http请求 )

使用测试 可以对项目中的方法进行测试,看它的执行是否能达到我们的预期效果,对相应的类创建对应的测试类,在方法上添加注解 @Test,就能使测试方法如同 main方法一样可以直接运行,这样就能观察到该方法最终执行的效果。MockMvc是由spring-test包提供,MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,使请求的验证变得更加方便。需要去掉@Test注解。选择需要测试的方法,并生成测试的类(⽣成了单元测试的框架类,具体的业务代码要⾃⼰填充)

2023-03-23 10:48:12 1701

原创 SpringBoot开启事务

不同的是Spring中我们要配置事务管理器,而Spring Boot 为我们提供了默认的事务管理器,当我们使用了 spring-boot-starter-jdbc 的启动器时,框架会自动注入 DataSourceTransactionManager 管理器。@Transactional默认回滚的是RuntimeException的异常,如果抛出的不是RuntimeException的异常,数据库是不会回滚的。在serviceImpl的方法上加注解:@Transactional。导入jdbc的启动器。

2023-03-23 10:45:52 1039

原创 SpringBoot整合MyBatis 和 MyBatis-Plus

MyBatis-Plus 是基于Mybatis的一个工具,它是对MyBatis的增强,在其基础上只进行增强,不进行改变,是为了简化MyBatis开发,提高效率而研发的。yml文件中配置Mybatis属性 (可以导入mybatis的XML配置文件)整合MyBatis-Plus 需要将MyBatis 的相关依赖移除。导入MyBatis-Plus的启动器(移除原来mybatis的)yml文件中配置mybatis-plus。导入MyBatis的启动器。启动类添加包的扫描(不变)添加log4j的日志。

2023-03-22 14:53:41 294 3

原创 SpringBoot配置数据源(HikariCP、Druid)

Druid 是阿里推出的,支持所有 JDBC(Oracle、MySQL、SQL Server 和 H2等 )兼容的数据库连接池。Druid 结合了 C3P0、DBCP 和 PROXOOL 等数据源产品的优点,同时还加入了强大的监控功能。通过 Druid 的监控功能,可以实时观察数据库连接池和 SQL 的运行情况,帮助用户及时排查出系统中存在的问题。Spring Boot 提供了一个名为 JdbcTemplate 的轻量级数据访问工具,它是对 JDBC 的封装。导入Druid 的依赖。导入JDBC的启动器。

2023-03-22 14:52:19 1071

原创 SpringBoot配置国际化

Spring Boot 从容器中获取 MessageSourceProperties 组件,并从中读取国际化资源文件的 basename(文件基本名)、encoding(编码)等信息,将它们封装到 ResourceBundleMessageSource 中;resource包内创建i18n包,在内部创建国际化资源文件(文件格式为:基本名_ 语言代码 _国家或地区代码),idea会自动识别,进行合并。可视化页面添加完毕后,会在配置文件中以 键=值的形式自动生成。在配置文件中设定国际化文件的位置。

2023-03-22 14:48:54 802

原创 搭建SpringBoot项目的基础配置(依赖、配置文件、多环境陪配置、静态资源问题)

通过导入webjars的依赖:它可以将 Web 前端资源(JS,CSS 等)打成一个个的 Jar 包,然后将这些 Jar 包部署到 Maven 中央仓库中进行统一管理,当 Spring Boot 项目中需要引入 Web 前端资源时,只需要访问。不同环境的配置也不尽相同,例如开发环境使用的是开发数据库,测试环境使用的是测试数据库,而生产环境使用的是线上的正式数据库。SpringBoot项目中的依赖会根据项目创建时选择的依赖自动添加,springboot管理的可以通过启动器添加,其余的正常添加。

2023-03-22 14:44:01 1713

原创 SpringBoot整合模板引擎(Thymeleaf、Freemarker、JSP)

前后端分离可以说是当今最主流的思想(前端写前端的代码,后端写后端的代码,之间互不影响)。在传统的 Java Web 开发中,通常都是使用 JSP 来进行前台页面的开发。但 JSP 页面是HTML+Java一起写的,显然不符合“前后端分离”的思想。因此在现在的 Java Web 开发中,JSP的使用已经逐渐变小。其中 Thymeleaf 就是其中较为优秀的代替JSP使用的技术之一。Thymeleaf 它是一种模板引擎,用来渲染 XML、XHTML、HTML5、JavaScript、CSS 甚至纯文本。

2023-03-22 14:43:30 2307

原创 SpringBoot中的异常处理组件

若找不到,则依次从静态资源文件夹中查找 error/status.html,若在静态文件夹中找到了该错误页面,则返回并结束整个解析流,如果还是没有找到,则处理默认的 “/error ”请求,使用 Spring Boot 默认的错误页面(Whitelabel Error Page)。ErrorMvcAutoConfiguration 向容器中注入了一个组件默认错误属性处理工具 DefaultErrorAttributes,可以从请求中获取异常或错误信息,并将其封装为一个 Map 对象返回。

2023-03-22 14:39:23 213

原创 springboot的启动方法

在启动时,首先实例化SpringApplication类,构造器加载初始化器和监听器,然后调用run方法,run方法启动监听器,加载配置文件,装配环境参数,打印banner的图案,获取处理上下文区域,加载并生产bean,处理完成后发布上下文,执行Runner运行器,并返回。SpringBoot的启动是通过启动类的main方法来启动的。发布应用执行Runner运行器,返回上下文。创建处理上下文,加载并创建bean对象,加载配置文件,装配配置参数。打印banner图案。

2023-03-22 14:38:32 371

原创 SpringBoot中关于数据源的相关配置

注解引入内部的限制条件类,检测容器中是否已经存在池化数据源(PooledDataSource),若不存在,通过@Import 注解引入 EmbeddedDataSourceConfiguration 类来向容器中添加一个内嵌的数据源(DataSource),若存在,则 EmbeddedDatabaseConfiguration 不能被实例化。用来检测容器中是否已经存在池化数据源的,若存在,可以向容器中添加池化数据源。PooledDataSourceConfiguration:池化数据源配置。

2023-03-22 14:38:04 427

原创 SpringBoot中关于 MVC的自动配置

SpringBoot中关于 MVC的自动配置

2023-03-22 14:34:36 159

原创 SpringBoot中的配置文件

YAML 全称 YAML Ain’t Markup Language,它是一种以数据为中心的标记语言(以 .yml 或 .yaml 结尾),Spring Boot 中的 spring-boot-starter-web 或 spring-boot-starter 都对 SnakeYAML 库做了集成, 只要项目中引用了这两个 Starter 中的任何一个,Spring Boot 会自动添加 SnakeYAML 库到 classpath 下。“张三\n 李四”:输出;会转义特殊字符,‘张三\n 李四’:输出;

2023-03-22 14:32:30 168

原创 SpringBoot中自动配置的原理(启动类注解)

它内部的注解还是挺多的,但是其中有三个核心的注解:@SpringBootConfiguration、@ComponentScan 、@EnableAutoConfiguration,一个底层是spring的核心的配置类,第二个用来扫描包,最后一个是 SpringBoot 可以自动配置的原因所在。SSM在使用时需要进行一系列的配置,比如配置 DispatcherServlet、配置视图解析器、配置事务管理器等等、配置各个包的扫描,它的很多组件需要自己配置后才可以使用。

2023-03-20 09:53:57 475

原创 springboot简介和项目搭建、启动器形式的依赖

随着功能的不断增多,Spring的搭建也越来越复杂,而Spring Boot 是 Pivotal 团队在 Spring 的基础上提供的一套全新的开源框架,其目的是为了简化 Spring 应用的搭建和开发过程。Spring Boot 去除了大量的 XML 配置文件,简化了复杂的依赖管理,它集成了大量常用的第三方库配置,大部分的 Spring Boot 应用都只需要非常少量的配置代码(基于 Java 的配置),开发者能够更加专注于业务逻辑。SpringBoot就是为了简化开发,核心思想是约定大于配置。

2023-03-20 09:49:48 537

原创 MySQL的索引

索引(Index) 是帮助MySQL高效获取数据的数据结构。我们读书的时候往往会根据书的目录快速的找到我们需要的章节,而索引的功能就类似于这个目录,把数据库中无序的数据变成相对有序的数据。索引一般是存放在本地磁盘文件上的,有两种存放方式:聚簇索引:把索引和数据放在一起,对主键查询有高性能。优点:数据访问更快 ,聚簇索引将索引和数据保存在同一个B+树中,因此从聚簇索引中获取数据比非聚簇索引更快。聚簇索引对于主键的 排序查找 和 范围查找 速度非常快。

2023-03-20 09:45:09 309

原创 MySQL事务处理

事务(Transaction)指作为一个逻辑工作单元执行一系列操作,这些操作要么全部成功,要么全部失败,确保对多个数据的操作当成一个单元来处理。MySQL中只有使用了Innodb存储引擎的数据库或表才支持事务处理。事务用于维护数据库的完整性,保证成批的sql语句要么都执行,要么都不执行,尽可能保证数据的完整。事务用于管理 INSERT、UPDATE、DELETE 语句。

2023-03-20 09:43:44 615

原创 MD5加密、用户管理、备份、EXPLAIN

MD5在实际使用时一定要设计好MD5的规则,否则一旦更改将无法获取原数据,用户使用的是未加密的原数据,在java端按设定的规则进行MD5加密,将加密后的数据和数据库保存的加密过的数据对比,这样就能得知用户数据是否正确。看是否使用了索引,是否扫描了过多的行数,是否出现 Using temporary、Using filesort 等一些影响性能的主要指标。,网上的一些所谓MD5的破解只不过是将一些常见的整理成一个字典,然后去循环对比,如果MD5制定的规则稍复杂就会破解失败。key:实际使用的索引。

2023-03-20 09:42:16 115

原创 MyBatis-Plus中提供的注解和自动代码生成器

在使用MyBatis-Plus 时,我们仅仅在泛型中设置了实体类,并没有指明数据库的表名或字段,这些数据是MyBatis-Plus 自动判断并对应起来的,它默认操作的表名和实体类型的类名一致,所以当表名有下划线时,如 user 变成 t_user,这时候再进行查询,就会出现异常。@TableLogic:用于数据库中表示删除的字段,因为在实际使用数据库是,不会真的删除某条数据,而是采用逻辑删除,比如设定一个deleted的字段,如为1则表示没有删除,如果为0则表示删除。Controller 策略配置。

2023-03-20 09:23:50 590

原创 mybatis-plus的条件构造器(wapper相关接口)

AbstractWrapper 及其子类主要用来生成 where 后的sql 条件。类似动态SQL生成。

2023-03-20 09:21:30 347

原创 IService接口和ServiceImpl实现类(Mybatis-Plus对service层的封装)

BaseMapper 是用在Mapper中,而IService是在Service层使用的封装接口,它进一步封装 CRUD。IService还有一个实现的类ServiceImpl,在使用使用时分别对应service接口和impl实现类。使用Spring时,在Spring的配置文件中先配置mybatis-plus内置的分页插件。在Mybatis-plus中提供了有关分页的接口和实现类 IPage 和 Page。使用SpringBoot时配置时,在配置类中配置。

2023-03-20 09:18:14 12908 1

原创 BaseMapper接口的使用

在封装的 BaseMapper 中只有一个插入语句,因为海量数据插入单条SQL无法实行,所以mybatis-plus 把批量插入放在了Service 层对应的封装接口里了。之所以会为负数,是因为数据库设置的是自增,而在User实体类中没有进行设置。MyBatis-Plus中的基本CRUD在内置的 BaseMapper 中都已得到了实现,我们可以直接使用,这样大大的简化了开发效率。设置完成后,将数据库之前测试的数据删除,重新运行一下。通过map条件查询,键值对应数据的字段和值。

2023-03-20 09:15:28 8343

原创 Spring项目整合MyBatis-Plus

MyBatis-Plus 是基于Mybatis的一个工具,它是对MyBatis的增强,在其基础上只进行增强,不进行改变,是为了简化MyBatis开发,提高效率而研发的。它基于MyBatis 在 Mapper 接口和 Servcie 接口上进行了封装,我们只需要在Mapper接口、Service接口上继承封装的相关接口,即可在没有写任何映射方法的时候,直接使用一些简单的 CRUD 等SQL操作。MyBatis-Plus网站无侵入:在MyBatis基础上只做增强不做改变,引入它不会对现有工程产生影响。

2023-03-20 09:13:22 811

原创 SpringMVC项目的创建流程

SpringMVC创建项目的完整流程

2023-03-05 10:59:50 1209

原创 SSM中的相关注解

整个SSM框架中常用的注解介绍

2023-03-05 10:59:25 104

原创 SpringMVC文件上传、下载、国际化配置

这里有一点要注意,如果使用的eclipse,那么使用request.getSession().getServletContext().getRealPath(“/upload/”),获取的就是部署到Tomcat的路径,可以直接获取,但是如果你使用的是Idea的话,它是把图片上传到了target这样一个文件夹内。在SpringMVC 中为我们提供了文件解析器,来实现上传文件的功能,MultipartResolver 本身是一个接口,我们需要通过它的实现类来完成对它的实例化工作。在页面中获取国际化内容;

2023-03-04 21:06:32 452

原创 SpringMVC中JSON数据的设置、RestFul风格

RestFul(ReStateTransfer,表现层资源状态转移。)风格是一种当前比较流行的互联网软件架构模式,它利用HTTP 协议的特性,规定了一套资源获取的方式,,它可以使软件更简洁,更有层次,易于实现缓存等机制。资源操作对应注解HTTP 请求方式获取资源(SELECT)GET新增资源(INSERT)POST修改资源(UPDATE)PUT删除资源(DELETE)DELETE传统的资源操作是通过?& 等符号将参数拼接起来的,如果要区分提交、删除等操作,是用不同的请求路径完成的。

2023-03-04 20:53:19 442

原创 控制器Controller的使用

通过控制器方法的形参获取请求参数(参数名必须和提交的name值一样,无视参数的数据类型的String可以接收任何参数,不适用于请求参数过多的请求)(若请求所传输的请求参数中有多个同名的请求参数,此时可以在控制器方法的形参中设置字符串数组或者字符串类型的形参 [用,拼接起来] 接收此请求参数)若设置为true,则当前请求必须传输value所指定的请求参数。现实中接受参数的情况是很复杂的,比方说使用RestFul风格,是把参数写入到请求路径中,有些传递的是Json数据,还有传递什么分页参数等等各种情况。

2023-03-04 20:53:17 1588

原创 SpringMVC中的常用注解

Springmvc的注解

2023-03-04 20:52:04 274

原创 SpringMVC的完整执行流程

Spring MVC 框架主要由 DispatcherServlet、处理器映射、控制器、视图解析器、视图等组成,它和其他的MVC框架一样,以请求为驱动,围绕Servlet分派请求和提供功能,DispatcherServlet就是一个实际的Servlet(底层继承HttpServlet)。先开始提取Request中的模型数据,然后 执行Controller 方法内的业务逻辑,开始处理请求,这期间会根据消息转换机制中的顺序对传递的数据进行校验。最后将渲染完成的最终的HTML页面,响应给客户端用户。

2023-03-04 20:46:22 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除