JavaEE
文章平均质量分 83
Java框架学习
wmxz520
这个作者很懒,什么都没留下…
展开
-
定时任务之Quartz使用
JobDetailJobDetail就是作业详细信息,包含作业名称、作业组名称、作业描述、具体作业实现类型等信息JobDetail有一个唯一的名称(name)和组名(group),它们共同构成了作业在调度器中的唯一标识,通过这种方式,用户可以对不同的作业进行组织和分类JobDetail必须关联一个实现了Job接口的类,该类封装了作业的实际执行逻辑,通常使用JobBuilder的ofClass方法来指定关联的Job。原创 2024-04-13 17:52:09 · 601 阅读 · 0 评论 -
SpringCloud之网关组件Gateway学习
Spring Cloud Gateway是Spring Cloud的⼀个全新项目,⽬标是取代Netflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于高性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul,官方测试,Gateway是Zuul的1.6倍,旨在为微服务架构提供种简单有效的统⼀的API路由管理方式。Spring Cloud Gateway不仅提供统的路由方式(反向代理)并且基于 Filter(定义过滤器对请求过滤,原创 2024-03-23 22:50:25 · 958 阅读 · 0 评论 -
SpringBoot整合Sharding-Jdbc实现分库分表和分布式全局id
sharding-jdbc是客户端代理的数据库中间件;它和MyCat最大的不同是sharding-jdbc支持库内分表。原创 2023-11-27 23:36:02 · 595 阅读 · 0 评论 -
使用单体锁和分布式锁解决超卖问题
单体锁和分布式锁案例原创 2023-12-03 21:18:56 · 138 阅读 · 0 评论 -
Spring Event学习
观察者模式是一种行为设计模式,它定义了对象之间的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。在这个模式中,改变状态的对象被称为主题,依赖的对象被称为观察者。原创 2023-10-29 17:15:16 · 261 阅读 · 0 评论 -
压测工具Jmeter学习
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。原创 2023-06-17 17:18:05 · 1766 阅读 · 0 评论 -
Mybatis源码学习之全局配置文件和映射文件解析
2、parse方法则是调用了XPath对象的evalNode方法对配置文件中的configuration节点进行解析,会把节点内容放在XNode对象中然后返回;3、parseConfiguration方法会对configuration节点解析出来的内容再进行解析,会把解析出来的内容放在configuration对象中;原创 2023-06-12 20:29:15 · 499 阅读 · 0 评论 -
mybatis源码学习之mybatis执行流程分析
2、parse方法则是调用了XPath对象的evalNode方法对配置文件中的configuration节点进行解析,会把节点内容放在XNode对象中然后返回;3、parseConfiguration方法会对configuration节点解析出来的内容再进行解析,会把解析出来的内容放在configuration对象中;原创 2023-06-04 22:07:22 · 571 阅读 · 0 评论 -
Activiti7学习笔记
Alfresco 软件在 2010 年 5 月 17 日宣布 Activiti 业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理 BPM 的专家 Tom Baeyens 担任,Tom Baeyens 就是原来 jbpm 的架构师,而 jbpm 是一个非常有名的工作流引擎,当然 activiti 也是一个工作流引擎。Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的。原创 2023-05-27 13:18:36 · 785 阅读 · 0 评论 -
SpringSecurity框架学习与使用
request . antMatchers("/") . permitAll() . antMatchers("/home") . permitAll() // /home、/ 的请求可以访问 . antMatchers("/test/test1") . hasRole("SALES") . antMatchers("/test/test2") . hasAuthority("admin") . anyRequest() . authenticated();//除了上面的,其它的请求必须认证通过 });原创 2023-05-01 22:22:18 · 3228 阅读 · 0 评论 -
owner-Java Properties配置文件管理工具
wner 是一个 java 库,旨在减少通过 properties 文件来处理应用程序配置的代码。它已经打包成一个 jar 文件,你也可以从 Maven 中央仓库下载。开发此 API 是受 GWT i18n 启迪(点此查看)。使用 GWT i18n 来加载配置文件有一个问题,那就是它仅仅适用于客户端代码(JavaScript),不是标准的 java 类。此外,GWT 是一个大的库,它是为了很多用途而设计,并不仅仅针对配置文件。原创 2023-04-16 13:50:38 · 212 阅读 · 0 评论 -
Java后端数据校验学习总结
Java后端数据校验学习总结原创 2023-02-04 12:45:12 · 1380 阅读 · 0 评论 -
Nacos学习之使用Nacos作为配置中心
Nacos学习之使用Nacos作为配置中心。原创 2023-01-10 21:28:00 · 942 阅读 · 0 评论 -
Nginx学习之Nginx进程
1、为什么要使用多个worker进程?如果一个worker进程受到黑客攻击或者由于其它某种原因出现问题,那么其它worker进程会继续处理请求,不会停止服务。2、worker进程设置为几个比较合适?worker数和服务器cpu数相等比较合适。原创 2022-10-16 12:18:38 · 2081 阅读 · 0 评论 -
项目学习总结三之Swagger2使用
官网对Swagger2的介绍如下:翻译过来的意思是:Swagger是一个用于描述和记录RESTful api的项目。Swagger规范定义了描述此类API所需的一组文件。然后Swagger-UI项目可以使用这些文件来显示API和Swagger-Codegen以生成各种语言的客户端。其他实用程序也可以利用结果文件,例如测试工具。原创 2022-10-11 22:03:47 · 838 阅读 · 0 评论 -
Spring Cloud学习之Spring Cloud Config
Spring Cloud Config是一个分布式的配置管理方案,分为Server端和客户端。Server端在项目中一般是一个独立的moudule,主要是与配置仓库交互,从仓库中获取配置文件;而客户端一般是与其它服务配合使用,从Server端中获取配置文件。当我们修改了仓库中的配置文件的时候,Server端中的配置文件会自动更新,而客户端中的配置文件默认情况下需要进行手动刷新。原创 2022-10-04 09:15:28 · 471 阅读 · 0 评论 -
项目学习总结一之统一公共数据返回和统一异常处理
这里面继承的是RuntimeException,这样后面在抛出这个异常时不需要使用try catch去处理异常。} }原创 2022-10-03 16:20:31 · 313 阅读 · 0 评论 -
Hystrix学习笔记
你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。Netflix开源的一个组件库,可以防止微服务调用中出现的级联错误,提供微服务系统的可用性。原创 2022-09-11 16:50:50 · 201 阅读 · 0 评论 -
SpringMVC学习总结一
SpringMVC学习总结之常用注解请求参数获取SpringMVC可以获取如下类型的参数:基本类型实体类数组类型集合类型下面讲解如何获取这些类型的请求参数。基本类型对于基本类型的参数,当请求参数的名称和Contrller中的业务方法名称一致时会自动映射匹配,无需进行其它的操作。例:超链接中的请求参数username和业务方法中参数名称一样,请求参数的值会自动映射到业务方法上。实体类对象对于实体类,实体类的属性名和请求的参数名相同时,也会自动映射匹配。如果实体类中的属性中包原创 2022-04-23 10:25:06 · 198 阅读 · 0 评论 -
Nginx学习之实现Nginx负载均衡
什么是负载均衡在集群环境下存在多台服务器,我们需要将请求分发到多个服务器上,将负载分发到不同的服务器上,这就是负载均衡。Nginx分配服务器策略轮询轮询是默认的分配策略,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,会自动删除它。weightweight代表权重,默认为1,权重越高被分配的客户端越多。ip_hash每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器。fair按后端服务器的响应时间来分配请i求,响应时间短的优先分配。负载均衡原创 2020-10-10 16:23:33 · 55 阅读 · 0 评论 -
Nginx学习之Nginx.conf配置文件详解
概述Nginx.conf配置文件分为3个部分,分别是全局块、events块和http块,其中http块又分为http全局块和server块,每个server块中可以包含多个location块和server全局块。配置详解全局块全局块是默认配置文件从开始到events块之间的一部分内容,主要设置一些影响Nginx服务器整体运行的配置指令。通常包括配置运行Nginx服务器的用户(组)、允许生成的worker process数、Nginx进程PID存放路径、日志的存放路径和类型以及配置文件引入等。eve原创 2020-10-10 15:11:57 · 5297 阅读 · 4 评论 -
SpringCloud之Eureka学习
Eureka学习Eureka的作用Eureka服务端安装1.新建模块,这里新建的是Eureka_server11112.修改pom文件,添加以下内容 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId原创 2020-11-03 21:46:41 · 81 阅读 · 0 评论 -
cxf实现restful风格的webservice
cxf实现restful风格的webservicerestful风格的webservice基于http协议使用xml或json传输数据,而不需要使用soap、wsdl、uuid。涉及到比较重要的注解:注解作用@XmlRootElement指定根元素,作用:客户端与服务端传递对象数据时候,序列化为xml或json的根元素的名称@Path访问当前服务接口的方法路径@Consumes服务端支持的请求的数据格式@Produces服务端支持的响应数据格式服务端原创 2020-11-14 22:11:26 · 317 阅读 · 2 评论 -
cxf整合Spring实现webservice调用
cxf整合Spring实现webserviceserver端pom文件内容<dependencies> <!-- CXF WS开发 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.0.1原创 2020-11-14 15:53:57 · 2273 阅读 · 0 评论 -
MybatisPlus学习
MybatisPlus学习MybatisPlus的配置pom文件<dependencies> <!-- mp 依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>2.3</version> <原创 2020-12-10 13:43:09 · 176 阅读 · 0 评论 -
SpringBoot整合PageHelper
SpringBoot整合PageHelper导入坐标导入分页插件的坐标。 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency>原创 2020-11-04 16:13:20 · 139 阅读 · 0 评论 -
SpringBoot整合redis
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.3.1.RELEASE</version> </depend原创 2020-08-16 16:51:33 · 76 阅读 · 0 评论 -
SpringBoot学习之在SpringBoot中使用过滤器(Filter)和监听器(Listener)
使用注解注册建立AyUserFilter类@WebFilter注解的作用是将这个类声明为过滤器,filterName属性指定了过滤器的名称,urlPatterns指定了过滤器的过滤路径。@WebFilter(filterName = "ayUserFilter", urlPatterns = "/*")public class AyUserFilter implements Filter { @Override public void doFilter(ServletRequest原创 2020-08-14 11:04:25 · 180 阅读 · 0 评论 -
SpringBoot学习之SpringBoot整合SpringDataJPA
建立项目选择需要的依赖。建立AyUserRepository类此类继承了JpaRepository接口。public interface AyUserRepository extends JpaRepository<AyUser,String> { /** * 根据名称进行查询 * @param name * @return */ List<AyUser> findByName(String name);原创 2020-08-14 08:50:55 · 147 阅读 · 0 评论 -
SpringBoot学习之SpringBoot整合MySQL和Druid
建立项目在建立项目的时候需要选择以下依赖。可能出现的问题默认选择的驱动包是基于MySQL8的,如果安装的不是MySQL8需要自己指定驱动版本。application.properties在application.properties文件中添加连接MySQL需要的配置。##mysql配置##urlspring.datasource.url=jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=UT原创 2020-08-13 15:59:16 · 950 阅读 · 1 评论 -
SpringMvc文件上传
springmvc文件上传表单的enctype属性指定的是表单数据的编码方式,该属性有3个值application/x-www-form-urlencoded:这是默认的编码方式,它只处理表单域里的value属性值;multipart/form-data:该编码以二进制流的方式来处理表单身数据,并将文件域指定文件的内容·封装到请求参数里面;text/plain:该编码方式只有当表单的action属性为"mailto"URL的形式时才使用,主要适用于直接通过表单发送文件的情况。文件上传需要设置表单的enc原创 2020-12-11 17:14:05 · 112 阅读 · 0 评论 -
SpringMvc请求静态资源无法获取的问题
原因由于在配前端控制器的时候,配置的映射路径是"/",所以前端控制器会拦截所有的请求,把这些请求都与我们在controller层写的请求地址进行匹配,而在controller层中并没有这样的请求地址,所以会出现请求静态资源无法获取的问题。解决方法在springmvc的配置文件中使用< mvc:resources>标签进行解决,mapping属性表示的是在请求资源时的地址,location属性表示的是资源在哪个目录。<mvc:resources mapping="/js/**" lo原创 2020-12-11 10:17:17 · 407 阅读 · 0 评论 -
SpringMVC入门案例
SpringMVC入门pom.xml文件配置jsp、servlet不导入也可以。<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope&g原创 2020-12-09 15:22:36 · 54 阅读 · 0 评论 -
Spring Aop
Spring AopAop的概念aop是面向切面编程,面向切面编程的思想可以总结如下:在面向对象编程(oop)思想中,我们将事物纵向抽成一个个的对象。而在面向切面编程中,我们将一个个的对象某些类似的方面横向抽成一个切面,对这个切面进行一些如权限控制、事物管理,记录日志等公用操作处理的过程。切面:简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。AOP 底层:动态代理。如果是接口采用 JDK 动态代原创 2020-11-23 10:56:11 · 62 阅读 · 0 评论 -
Spring的依赖注入的方式
Spring依赖注入Spring依赖注入的方式构造函数注入在bean标签的内部使用constructor-arg标签就可以进行构造函数注入了。constructor-arg标签的属性:type:用于指定要注入的数据的数据类型,该数据类型也是构造函数中某个或某些参数的类型index:用于指定要注入的数据给构造函数中指定索引位置的参数赋值,索引的位置从0开始name:用于给指定构造函数中指定名称的参数赋值value:用于提供基本类型和String类型的数据ref:用于指定其他的bean类型数原创 2020-11-19 16:32:58 · 172 阅读 · 0 评论 -
获取Spring的IOC容器对象的方式
获取Spring的IOC容器对象的方式从下面的类图中可以看出,ApplicationContext接口有很多的实现类,我们一般用到的是ClassPathXmlApplicationContext、FileSystemXmlApplicationContext、AnnotationConfigApplicationContext这3个实现类,通过这3个实现类我们可以获取到Spring的IOC容器对象。ClassPathXmlApplicationContextClassPathXmlApplicat原创 2020-11-09 21:35:08 · 796 阅读 · 0 评论 -
Spring中Bean的创建方式、作用范围、生命周期
Spring中Bean的创建方式创建bean的三种方式:默认构造函数使用普通工厂中的方法创建对象(使用某个类中的方法创建对象,并存入Spring容器)使用工厂中的静态方法这三种方式中第一种适用于我们自己写的代码,因为只有我们自己写的代码我们才可以加上构造函数,如果是第三方的我们无法加上构造函数。第二种和第三种方式就是为了解决想要获取第三方的对象而存在的,此时我们只需要找到获取那个对象的工厂方法就可以获取对象了。构造函数在spring的配置文件中使用bean标签,配以id和class属性之后原创 2020-11-09 21:34:14 · 143 阅读 · 0 评论 -
Spring注解之Servlet
Spring注解之Servlet我们配置Servlet一般都是通过在Servlet类上加注解或者在web.xml文件中配置的方式来注册Servlet组件,在Servlet3.0以后,SpringMVC提供了一种新的方式去注册Servlet。ServletContainerInitializer接口容器在启动应用的时候,会扫描当前应用每一个jar包里面META-INF/Iservices/javax.servlet.ServletContainerInitializer指定的实现类;当web容器启动的时原创 2020-11-08 18:03:36 · 831 阅读 · 0 评论 -
WebService错误Exception in thread “main“ javax.xml.ws.WebServiceException: Could not find wsdl:binding
错误解决方法客户端的service方法没有和服务器的绑定,在客户端的service方法加上@WebService注解就可以解决了。原创 2020-09-16 11:06:53 · 1902 阅读 · 0 评论 -
eq、ne、gt、ge、lt、le的意思
今天在学MybatisPlus的时候突然看到AbstractWrapper类中有这几个方法,这让我一脸懵逼,于是查了一下它们的意思。方法意义eq(equal)等于ne(not equal)不等于gt(greater than)大于ge(greater equal)大于等于lt(less than)小于le(less equal)小于等于...原创 2020-09-10 14:26:56 · 731 阅读 · 0 评论