![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaEE
文章平均质量分 76
MinggeQingchun
这个作者很懒,什么都没留下…
展开
-
Java - @JSONField和@JsonProperty注解
注解是阿里巴巴的框架中的注解,用于指定JSON字符串中的属性名和Java对象中的属性名之间的映射关系注解是Jackson框架中的注解,用法类似于@JSONField,也是指定JSON字符串中的属性名和Java对象中的属性名之间的映射关系。原创 2024-02-20 21:02:20 · 3239 阅读 · 0 评论 -
Java - LambdaQueryWrapper 的常用方法
【1】分页参数1是分页起始位置,一般是1,参数2:结束位置, 一般都是前端传过来的,查询的数量Page page1 = new Page(参数1,参数2);条件 eq 指的是相等执行page方法 page(参数1,参数2)参数1:上面的new的分页对象,参数2是lambda表达式查询条件(一)PageHelper和IPage区别。原创 2023-09-17 22:14:36 · 8390 阅读 · 1 评论 -
Java -- XXL-JOB分布式任务调度平台
/doc :文档资料- /db :“调度数据库”建表脚本- /xxl-job-admin :调度中心,项目源码- /xxl-job-core :公共Jar依赖- /xxl-job-executor-samples :执行器,Sample示例项目(大家可以在该项目上进行开发,也可以将现有项目改造生成执行器项目)原创 2023-07-02 09:48:37 · 1136 阅读 · 0 评论 -
Spring - Error creating bean with name ‘XX‘: Unsatisfied dependency expressed through field ‘XX‘
报错:不满足依赖异常。创建名为’xx’的bean时出错,通过字段’sqlSessionFactory’表达的不满足的依赖项。原创 2023-01-25 21:55:17 · 6010 阅读 · 0 评论 -
Java - 异步处理
Async注解是基础Spring的AOP动态代理模式实现的,同类中的A方法并没有走Spring的代理类,调用同类中的B方法是原生的并不是Spring所代理的对象,因为并没有经过Spring容器托管,从而造成了注解的失效。异步处理的实现方式有很多种,常见多线程,消息中间件,发布订阅的广播模式,其根据逻辑在于先把请求承接下来,放入容器中,在从容器中把请求取出,统一调度处理。异步适用的业务场景,对数据强一致性的要求不高,异步处理的数据更多时候追求的是最终一致性。5、异步用在不同服务间,可以隔离服务,避免雪崩;原创 2023-01-07 22:44:19 · 7973 阅读 · 0 评论 -
Java -- OSS对象存储服务(Object Storage Service,简称 OSS)文件服务器
一个成熟的技术架构要有一定的分离性, 平台级的产品一般会这么分:应用服务器、数据库服务器、文件服务器。一般文件、数据库、应用服务器,都应该做逻辑和物理的分离。以前我们想要做文件上传可能要自己去搭建一个专门的,然后将我们的文件上传到这个服务器上,下载就从我们这个服务器上去进行下载就行了。但是现在随着技术的发展,像阿里这样的公司给我们开发了好多一些专门的服务器来干这样的事情,根本不用我们自己再去搭建服务器,这样用起来确实可以省很多的事情,我们要做的只是购买一台,将配置参数配置配置就可以实现文件的上传与下载。原创 2022-12-22 21:49:45 · 4659 阅读 · 0 评论 -
Java -- 软件开发整体流程;项目环境dev,test,staging,prod
软件应用开发的经典模型有这样几个环境:开发环境(development)、集成环境(integration)、测试环境(testing)、QA验证,模拟环境(staging)、生产环境(production)。通常一个web项目都需要一个staging环境,一来给客户做演示,二来可以作为production server的一个“预演”,正式发布新功能前能及早发现问题(特别是gem的依赖问题,环境问题等)开发环境是程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告。原创 2023-01-01 20:35:09 · 3748 阅读 · 0 评论 -
Java--MybatisPlus Wrapper构造器;分页;MP代码生成器(四)
*** last : 拼接sql语句到MP的sql语句的最后*/@TestOR age =?limit 1qw.eq("name","张三").or()}原创 2022-09-02 22:21:59 · 1529 阅读 · 0 评论 -
Java--MyBatis批量插入、批量更新和批量删除
MyBatis批量插入数据[Mybatis 插入与批量插入以及多参数批量删除](http://www.cnblogs.com/liaojie970/p/5577018.html)注意项:需要注意id是varchar类型还是bigint/int类型1、批量插入WaterEleMapper.xml部分代码<!--批量增加测试--> <insert id="insertList" parameterType="java.util.List"> in转载 2021-10-21 11:08:57 · 5470 阅读 · 0 评论 -
Java--MybatisPlus表和列;自定义SQL(三)
1、建表id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',name varchar(50) NULL DEFAULT NULL COMMENT '学生名字',age int(11) NULL DEFAULT NULL COMMENT '年龄',email varchar(50) NULL DEFAULT NULL COMMENT '邮箱',status int(11) NULL DEFAULT NULL COMMENT '状态',原创 2022-09-02 21:41:32 · 2638 阅读 · 0 评论 -
Java--MybatisPlus日志;CRUD用法;Active Record(AR)(二)
在application.yml 配置文件中添加如下配置。注:此配置只是将日志输出到控制台。原创 2022-09-01 21:28:55 · 1375 阅读 · 0 评论 -
Shiro - Shiro简介;Shiro与Spring Security区别;Spring Boot集成Shiro
以下引自百度百科Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。三个核心组件:Subject,SecurityManager 和 Realms。...原创 2022-08-27 20:10:07 · 37868 阅读 · 12 评论 -
Java--Mybatis中 #{} 和 ${} 的区别
# 和 $ 区别1、#:占位符(#{}是预编译处理),告诉 mybatis 使用实际的参数值代替。并使用PrepareStatement 对象执行 sql 语句, #{…} 代替 sql 语句的 “?”。这样做更安全,更迅速,通常也是首选做法Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理{}时,就是把{}替换成变量的值使用#{}可以有效的防止SQL注入,提高系统安全性select user_.原创 2022-08-18 11:57:12 · 624 阅读 · 0 评论 -
Java--SpringMVC之url-pattern,静态资源;URL相对路径,绝对路径
一、url-pattern二、路径原创 2022-08-17 08:05:54 · 1015 阅读 · 0 评论 -
Java--SpringMVC之处理器方法返回值
一、处理器方法返回值使用@Controller注解的处理器方法,返回值会有四种类型:ModelAndView、String、Void、自定义Java对象1、ModelAndViewModelAndView:有数据和视图若处理器方法处理完后,需要跳转到其它资源,且又要在跳转的资源间传递数据,此时 处理器方法返回 ModelAndView 比较好。若该处理器方法只是进行跳转而不传递数据,或只是传递数据而并不向任何资源跳转(如对页面的 Ajax 异步响应),此时返回 ModelAndView原创 2022-08-16 21:59:28 · 760 阅读 · 0 评论 -
Java--SpringMVC之RequestMapping请求映射和处理器方法参数
1、新建一个maven的web项目,选择maven-archetype-webapp2、pom.xml文件加入依赖spring-webmvc依赖,间接把spring的依赖都加入到项目;jsp,servlet依赖<properties> <!-- 项目构建使用的编码,避免中文乱码 --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>原创 2022-08-16 21:05:29 · 1377 阅读 · 0 评论 -
Java -- 定时任务实现方式
定义Job有两种方式,@Servicetry {}}}第二种是继承,重写方法,这种方式可以接受JobDetail传递的参数@Overridetry {}// 获取参数System.out.println("参数:" + date);}}这样就把JobDetail和我们之前定义的QuartzJob关联起来了。...原创 2022-08-25 21:59:08 · 31345 阅读 · 4 评论 -
Java -- Cron表达式构建
如果在DayofWeek域使用5L,意味着在最后的一个星期四触发7、W表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。例如在DayofMonth使用5W,如果5日是星期六,则将在最近的工作日星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则在5日触发。另外一点,W的最近寻找不会跨月8、LW这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五9、#用于确定每个月第几个星。.........原创 2022-08-27 21:40:30 · 1762 阅读 · 0 评论 -
JavaEE - CORS跨域
是一个W3C标准,全称是””(),允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。它通过服务器增加一个特殊的Header[Access-Control-Allow-Origin]来告诉客户端跨域的限制,如果浏览器支持CORS、并且判断Origin通过的话,就会允许XMLHttpRequest发起跨域请求。实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。CORS需要浏览器和服务器同时支持。原创 2022-09-03 21:12:39 · 709 阅读 · 0 评论 -
FastDFS - FastDFS使用
一、分布式文件系统DFS分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。传统存储方式分布式存储分布式文件系统一般文件系统存储数据的方式数据分散的存储在多台服务器原创 2022-06-09 21:14:17 · 496 阅读 · 0 评论 -
SpringBoot - Thymeleaf 模版
Thymeleaf 简介Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。Thymeleaf 是新一代 Java 模板引擎,支持 HTML 原型,以直接被浏览器打开,此时浏览器会忽略未定义的 Thymeleaf 标签原创 2022-05-28 21:50:40 · 439 阅读 · 0 评论 -
SpringBoot - 打包,war包,jar包
一、war包1、创建一个springboot的web应用在src目录下创建一个 webapp目录我们选择 file ----> Project Structure ----> 选择模块,选择 Web Resource Directories ,新建webapp 目录即可即可看到webapp被设为web项目的根目录,并有一个蓝点的标志2、在application.properties中配置服务端口,上下文路径;以及视图解析器server.port=8081...原创 2022-05-28 21:51:27 · 1667 阅读 · 0 评论 -
Java -- SpringSession实现session共享
在集群系统中,经常需要将 Session 进行共享。不然会出问题:用户在系统A上登陆以后,假如后续的一些操作被负载均衡到系统B上面,系统B发现本机上没有这个用户的 Session ,会强制让用户重新登陆。如在同域名,同项目中,端口号不同;8081 set session8081 get session8082 get session是 nullCookie与SessionHTTP 协议是一种无连接的协议,当客户端发出一个请求时,它们之间就会建立一个连接,等服务器响应...原创 2022-09-05 22:08:45 · 3008 阅读 · 0 评论 -
Cookie和Session
一、CookieCookie中译小甜点,是网页浏览器用来保存用户信息的文件,可以保存比如用户是谁,购物车有哪些商品等。Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。信息保存的时间可以根据需要设置如原创 2022-09-03 21:13:47 · 631 阅读 · 0 评论 -
SpringBoot - 集成Redis
这里主要讲述SpringBoot集成Redis的使用,因此不再详述Redis,如果需要请自行百度博主也有写过Redis文章,如下Redis入门简介Redis(Remote Dictionary Server)译为“远程字典服务”Redis是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL数据库、key-value 数据库,也是当前热门的NoSQL数据库之一NoSQL =Not Only SQL(不仅仅是SQL,而不是“不使用 SQL”)泛指non-rel..原创 2022-05-08 15:19:06 · 793 阅读 · 0 评论 -
SpringBoot - RESTful接口架构
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。REST(英文:Representational State Transfer,简称 REST)是一种互联网软件架构设计的风格,但它并不是标准,它只是提出了一组客户端和服务器交互时的架构理念和设计原则,基于这种理念和原则设计的接口可以更简洁,更有层次如GET请求原创 2022-05-22 21:23:06 · 315 阅读 · 0 评论 -
SpringBoot - mapper,mapperscan;ORM操作数据库;自动生成代码;事务
ORM(Object-Relational Mapping,对象关系映射)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术;简单的说,ORM是通过使用描述对象和数据库之间映射的元数据(在Java中可以用XML或者是注解),将程序中的对象自动持久化到关系数据库中或者将关系数据库表中的行转换成Java对象,其本质上就是将数据从一种形式转换到另外一种形式首先我们使用MySQL创建好一个数据库,以及表student一、@Mapper1、pom.xml中导入 mybatis和.原创 2022-05-21 08:39:44 · 799 阅读 · 0 评论 -
SpringBoot - JSP,Servlet,拦截器(Interceptor),过滤器(Filter),Runner 接口
一、容器SpringBoot 在 main 方法中 SpringApplication.run()方法获取返回的 Spring 容器对象,再获取业务 bean进行调用我们先创建一个service接口以及实现类@Service("helloService")public class HelloServiceImpl implements HelloService { @Override public void salyHello() { System.out.p原创 2022-05-15 22:11:54 · 818 阅读 · 0 评论 -
SpringBoot - SpringBoot入门简介;JavaConfig;核心配置application.yml(properties),多环境设置
一、JavaConfig在Spring3.0之前,我们的bean一直通过XML文件来配置的,后来在Spring3.0之后为我们提供了Java的config版本。而且在Spring4.0之后推荐我们使用JavaConfig: 是 Spring 提供的使用 java 类配置容器。 配置 Spring IOC 容器的纯 Java 方法JavaConfig优点:1、面向对象的配置:由于配置被定义为JavaConfig中的类,因此可以充分使用Java中的面向对象功能。一个配置类可以继承另一个配置类原创 2022-05-15 20:59:53 · 1630 阅读 · 0 评论 -
Java--Statement和PrepareStatement的区别
一、语法两者的语法区别Statement语法Statement stmt = connect.createStatement();String sql= "SELECT * FROM cg_user WHERE userId=10086 AND name LIKE 'xiaoming'";ResultSet rs = stmt.executeUpdate(sql);PrepareStatementPreparedStatement preparedStatement = conne转载 2020-10-26 17:41:49 · 935 阅读 · 0 评论 -
Java--Maven多模块管理
超大侧率maven父工程必须遵循两点要求:1、packaging标签的文本内容必须设置为pom2、将src目录删除掉一、空工程Empty Project设置1、创建一个空工程Empty Project(1)File----New----Project,选择Empty Project,点击Next(2)输入工程名,以及存放路径Project name:项目名称Project location:项目存放位置路径2、创建Maven父工程(1)File----原创 2022-04-05 21:50:19 · 5566 阅读 · 0 评论 -
Java--请求转发;重定向;异常处理;拦截器
一、请求转发当处理器对请求处理完毕后,向其它资源进行跳转时,有两种跳转方式:请求转发与重定向,两者区别如下:forward:表示转发,实现 request.getRequestDispatcher("xx.jsp").forward() /** * 处理器方法返回ModelAndView,实现转发forward * 语法:setViewName("forward:视图文件完整路径") * forward:不和视图解析器一同使用(忽略视图解析器)原创 2022-08-17 21:06:21 · 3358 阅读 · 0 评论 -
Java--SSM
SSM架构,是三层结合所成的框架,分别是Spring、SpringMVC、MyBatis所组成SpringMVC:视图层,界面层;负责接收请求,显示处理结果,管理Controller控制器对;Spring:业务层,管理service,dao,工具类对象;依赖注入来管理各层,面向切面编程管理事务,日志和权限MyBatis:持久层;访问数据库;基于jdbc的框架,主要用来操作数据库,并且将业务实体和数据表联系起来1、Spring(1)基本概念Spring是一个开源开发框架,是一个轻量级控原创 2022-05-29 20:37:18 · 3811 阅读 · 0 评论 -
Java--web.xml加载过程;文件标签详解
一、web.xml加载过程我们在启动Javaweb项目时,首先需要启动一个容器(如Tomcat,JBoss)WEB加载web.xml过程如下:1、在启动Web项目时,容器(如Tomcat,JBoss)会读web.xml配置文件中的两个节点<listener> 和 <context-param>2、接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能够使用这个上下文3、接着容器以<context-param>的na原创 2022-08-15 21:14:02 · 1530 阅读 · 0 评论 -
Java--Spring应用在Web项目
域名1、创建web的maven项目;类型maven-archetype-webapp 2、加入maven的依赖(1)spring依赖(2)mybatis依赖(3)mysql驱动(4)spring的事务依赖(5)mybatis和spring集成依赖(6)加入jsp,servlet依赖pom.xml文件<dependencies> <!-- 单元测试依赖 --> <dependency> <g.原创 2022-08-18 21:04:38 · 542 阅读 · 0 评论 -
Java--Spring事务
事务原本是数据库中的概念,在Dao层。但Spring框架将事务提升到业务层,即 Service 层Spring事务的本质其实就是数据库对事务的支持Spring支持编程式事务管理以及声明式事务管理两种方式一、编程式事务管理编程式事务管理是侵入性事务管理,使用TransactionTemplate或者直接使用PlatformTransactionManager,对于编程式事务管理,Spring推荐使用TransactionTemplate二、声明式事务管理声明式事务管理建立在AOP之.原创 2022-08-31 21:58:53 · 972 阅读 · 0 评论 -
Java--Spring和MyBatis集成
Spring集成Mybatis主要使用的spring的IOC技术创建项目步骤:1、新建普通的maven项目2、加入maven的依赖(1)spring依赖(2)mybatis依赖(3)mysql驱动(4)spring的事务依赖(5)mybatis和spring集成依赖<dependencies> <!-- 单元测试依赖 --> <dependency> <groupI.原创 2022-08-18 11:55:54 · 269 阅读 · 0 评论 -
Java--Spring之AOP面向切面编程
一、JDK动态代理具体可参考之前博文Java--JDK动态代理(AOP)在这里只做简单说明动态代理是指代理类在程序运行时进行创建的代理方式。这种情况下,代理类并不是在Java代码中定义的,而是在运行时根据Java代码中的“指示”动态生成的。(动态代理中的代理类并不要求在编译期就确定,而是可以在运行期动态生成,从而实现对目标对象的代理功能)相比于静态代理,动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类的函数动态代理又分为两种方式(1)JDK动态代...原创 2022-08-13 06:58:02 · 1093 阅读 · 0 评论 -
Java--Map与实体类对象之间互转
一、json转换依赖阿里的FastJSon,用到的主要jar包:fastjson-1.2.54.jar1、maven引入<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.54</version></dependency>2、类引入i原创 2022-02-13 12:13:27 · 2329 阅读 · 0 评论 -
Java--Spring之IoC控制反转;基于注解的DI
基于XML配置文件的DI请参考上文https://blog.csdn.net/MinggeQingchun/article/details/122880488二、基于注解的DI原创 2022-08-13 10:46:13 · 219 阅读 · 0 评论