
java学习
文章平均质量分 51
110010100
发量是检验技术的唯一标准
展开
-
Caused by: java.sql.SQLException: connection holder is null
离职同事写了一个定时任务保存历史数据的时候,数据太多查询完再循环插入,请求接口超过半个小时报错原因:数据库连接超过了removeAbandonedTimeout规定的时间没有主动关闭,连接池启用自我保护机制把连接关了,当程序再使用这个连接就报错了。解决方案:加上验证数据库服务可用性的sql.用来检测连接是否有效的sql...原创 2022-02-24 15:24:19 · 1355 阅读 · 0 评论 -
Method breakpoints may dramatically slow down debugging,Main: Failed to retrieve application JMX ser
1、Main: Failed to retrieve application JMX service URL2、Method breakpoints may dramatically slow down debugging之前启动SpringBoot项目的时候报这两个错,项目启动不起来,我以为我环境有问题,结果是因为断点打在了方法上。。。。去掉这个断点就可以启动成功了。如果不知道自己有没有打断点,可以直接点击下面的按钮(黄色框框框出来的这个)下面就是你打的断点,勾掉就好了...原创 2022-02-19 14:22:12 · 383 阅读 · 0 评论 -
深入理解Java:注解(Annotation)自定义注解入门。。解读公司自定义注解。。
1、注解的概念1、1 注解官方解释:An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they annotate.以上翻译成中文:原创 2022-02-10 11:27:08 · 229 阅读 · 0 评论 -
BigDecimal的加减乘除运算,以及一些常用方法stripTrailingZeros()...&&大小比较&&踩坑之路。。。。
四则运算法则 BigDecimal b1 = new BigDecimal(1); BigDecimal b2 = new BigDecimal(2);操作公式加法b1.add(b2)减法b1.subtract(b2)乘法b1.multiply(b2)除法b1.divide(b2)加法add() //创建一个 BigDecimal b1 = new BigDecimal(1); BigDecima原创 2022-02-09 11:39:43 · 893 阅读 · 0 评论 -
线程、进程的区别,多线程的四种实现方式以及其优缺点总结,四种方式的简单实现代码小demo
进程:电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。线程:进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。那什么是多线程?提到多线程这里要说两个概念,就是串行和并行,搞清楚这个,我们才能更好地理解多线程。串行,其实是相对于单条线程来执行多个任务来说的,我们就拿下载文件来举个例子:当我们下载多个文件时,在串行中它是按照一定的顺序去进行下载的,也就是说,必须等下载完A之后才能开始下载B,它们在时间上是不可原创 2021-07-22 15:19:38 · 544 阅读 · 2 评论 -
人人开源逆向工程生成代码步骤
在公司空闲时间学习谷粒商城电商项目的时候写的代码,放到了年假的时候来记录一下,可能有些步骤忘记啦。我尽力一步一步还原。1、逆向工程搭建将人人开源的官方代码拷贝下来git clone https://gitee.com/renrenio/renren-generator.git下载后,删除掉里面的.git文件,配置pom.xml<modules> <module>gulimall-coupon</module> <module>gulimal原创 2021-02-15 16:08:51 · 530 阅读 · 0 评论 -
java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.cho
java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance; at org.springframework.clo原创 2021-02-01 11:07:11 · 10220 阅读 · 44 评论 -
MP实现插入、更新数据时公共字段自动填充MetaObjectHandler、@TableField
公共字段自动填充元数据处理接口com.baomidou.mybatisplus.mapper.MetaObjectHandlerinsertFill(MetaObject metaObject)updateFill(MetaObject metaObject)metaobject: 元对象. 是 Mybatis 提供的一个用于更加方便,更加优雅的访问对象的属性, 给对象的属性设置值 的一个对象. 还会用于包装对象. 支持对 Object 、Map、Collection 等对象进行包装原创 2020-06-19 10:44:22 · 2758 阅读 · 0 评论 -
MyBatis Plus自定义全局操作、AutoSqlInjector、逻辑删除
自定义全局操作根据 MybatisPlus 的 AutoSqlInjector 可以自定义各种你想要的 sql ,注入到全局中,相当于自 定义 Mybatisplus 自动注入的方法。之前需要在 xml 中进行配置的 SQL 语句,现在通过扩展 AutoSqlInjector 在加载 mybatis 环境 时就注入。8.1 AutoSqlInjector在 Mapper 接口中定义相关的 CRUD 方法2) 扩展 AutoSqlInjector inject 方法,实现 Mapper原创 2020-06-19 10:40:12 · 2387 阅读 · 4 评论 -
MyBatis Plus的分页插件、执行分析插件、性能分析插件、乐观锁
分页插件在applicationContext.xml的spring与MaBatis整合的SqlSessionFactoryBean中配置一个属性1)com.baomidou.mybatisplus.plugins.PaginationInterceptor编写测试类ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); EmployeeMapper employeeMa原创 2020-06-18 21:24:08 · 911 阅读 · 0 评论 -
使用Eclipse快速创建SpringBoot 项目,YML语法、配置文件注入值、、配置文件占位符、Profile
我们只需要选择需要用到的模板,向导会联网创建Spring Boot项目默认生成的Spring Boot项目主程序resources文件夹中的目录结构static:保存所有的静态资源:js、css、imagestemplates:保存所有的模板页面(Spring Boot默认jar包使用嵌入式的tomcat,默认不支持JSP页面);可以使用模板引擎(freemaker,thymeleaf);application.properties:Spring Boot配置的默认文件,可以修改一些默认设置原创 2020-05-17 09:49:37 · 1299 阅读 · 0 评论 -
SpringBoot入门程序Hello World、创建maven项目
什么是springbootSpring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。spring的优点 快速创建独立运行的spring项目以及与主流框架集成 使用嵌入原创 2020-05-08 21:22:24 · 219 阅读 · 0 评论 -
maven项目的构建,构建的主要环节,九大核心概念POM、坐标、生命周期等等
构建构建就是以我们编写的 Java 代码、框架配置文件、国际化等其他资源文件、JSP 页 面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。构建的主要环节:1、清理:删除以前的编译结果,为重新编译做好准备2、编译:将java源程序编译成字节码文件3、测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。4、报告:在每一次测试后以标准的格式记录和...原创 2020-05-03 16:37:09 · 497 阅读 · 0 评论 -
初识Maven
maven的简介Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。maven的作用在今天的 JavaEE 开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些...原创 2020-05-02 20:02:24 · 155 阅读 · 0 评论 -
SpringMVC中配置拦截器以及其使用方式和要点
SpringMVC的拦截器1) Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器可以实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdapter 适配器类① preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截...原创 2020-04-29 10:51:43 · 316 阅读 · 0 评论 -
SpringMVC的文件上传以及下载、MultipartResolver
需要导入jar包commons-fileupload-1.2.1.jarcommons-io-2.0.jar配置文件上传解析器<!-- 解析器,将接收到客户端所上传的文件的File对象转换成MultipartFile对象 注意:文件解析器的beanid必须是multipartResolver,因为在解析的过程中底层的代码会通过getBean方法来...原创 2020-04-29 10:44:13 · 201 阅读 · 0 评论 -
SpringMVC测试JSON
JSP代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert ...原创 2020-04-29 10:37:38 · 157 阅读 · 0 评论 -
SpringMVC过滤器HiddenHttpMethodFilter
一般在我们对数据库的操作有四种,查询,新增,删除,更改四种类型。对应HTTP协议中四类请求:GET,POST,DELETE,PUT。但是在form标签中只有两种请求分别是:GET,POST浏览器默认使用的是GET方法。普通的浏览器只支持GET、POST请求。如需要用到DELETE,PUT的话就需要在配置文件中配置过滤器HiddenHttpMethodFilter代码如下:<filte...原创 2020-04-25 15:47:16 · 282 阅读 · 0 评论 -
SpringMVC的表单form标签、表单回显
form标签简介srpingmvc中的form标签只是restful风格的请求访问,使用这个form标签应该保证有数据的回传,也就是说,它一出来就要展示数据的。就是所谓的回显功能。使用步骤1、引入标签库(在JSP中):<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>2、网页显示...原创 2020-04-25 15:20:25 · 1092 阅读 · 0 评论 -
SpringMVC静态资源加载不出来的配置以及原因,${pageContext.servletContext.contextPath }使用
在使用SSM框架做web开发时,遇到SpringMVC拦截了静态资源(如js,css,img等文件),导致jsp页面在浏览器上不能正常显示。SpringMVC默认拦截了所有的请求,静态资源也是一个请求,所以会被拦截。导致访问不了。如果需要对以上的静态js文件进行访问。在springmvc.xml中配置加载静态资源:<!-- 静态资源解析 包括 :js、css、img...原创 2020-04-24 16:26:54 · 2343 阅读 · 0 评论 -
SpringMVC中的REST风格
1) REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用① 资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位...原创 2020-04-20 20:54:45 · 168 阅读 · 0 评论 -
SpringMVC处理请求数据,请求参数 cookie信息 请求头信息 ModelAndView Model…..
请求处理方法签名:1) Spring MVC 通过分析处理方法的签名(方法名+ 参数列表),HTTP请 求信息绑定到处理方法的相应形参中。2) Spring MVC 对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。3) 必要时可以对方法及方法入参标注相应的注解( @PathVariable 、@RequestParam、@RequestHeader 等)、4)...原创 2020-04-20 20:38:03 · 1189 阅读 · 0 评论 -
SpringMVC的使用:@RequestMapping注解,映射请求参数、请求头信息、请求方法、ANT路径风格
@RequestMapping映射请求注解在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求1.在控制器的类和方法上都可以加此注解a.加在类上:提供初步的请求映射信息。相对于 WEB 应用的根目录b.加在方法上:提供进一步的细分映射信息。相对于标记在类上的 URL。注意:类上未标注 @RequestMapping,...原创 2020-04-19 14:55:41 · 616 阅读 · 0 评论 -
MyBatis动态SQL、OGNL、多条件查询以及批量操作
什么是mybatis动态SQL?MyBatis 的强大特性之一便是它的动态 SQL。动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。OGNL是啥?OGNL的全称是...原创 2020-04-10 19:47:22 · 510 阅读 · 0 评论 -
MyBatis获取参数值的两种方式#{}、${}以及两者之间的区别
首先我们知道MyBatis是对JDBC的封装,所以这两种传值的方式还要从底层的JDBC说起。#{}实际上是封装了问号占位符赋值的方式,会使用JDBC中的PreparedStatement,变量处用**?**号代替,防止SQL注入。$ {}是直接拼接到sql语句中,使用的是JDBC的 Statement,值没有任何修饰,存在 sql注入风险。(在使用的过程中需要注意单引号的问题)项目中 用 #...原创 2020-04-09 15:45:24 · 1111 阅读 · 0 评论 -
简单的数据结构与算法之稀疏数组的了解与使用(通过五子棋来示例,入门程序)
首先来举个栗子,来说明一下稀疏数组是什么。玩五子棋的时候我们需要存档,假如是11*11的五子棋布局。我们要对如下战况进行存档我们先想一下如果用二维数组把它存起来是不是需要用到一个11行11列的数组呢。答案肯定是毫无疑问了。想一下如果用我们用chessArr[11][11] 这样的数组是不是很浪费资源呢,因为我们只需要存黑子第二行第三列也就是chessArr[1][2]和蓝子第三行第四列ch...原创 2020-04-06 14:01:36 · 220 阅读 · 0 评论 -
了解AJAX的作用以及如何使用(入门程序)
标题AJAXAJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法,是指一种创建交互式网页应用的网页开发技术。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。作用:AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。...原创 2019-12-23 17:53:38 · 318 阅读 · 0 评论 -
了解控制反转IoC
控制反转IoC控制反转(Inversion of Control)在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率。控制反转就是以前如果你需要吃饭就需要去买菜,现在可以直接吃了。就是通过Spring来配置bean。2.1.3 IOC容器在Spring中的实...原创 2020-03-19 11:16:34 · 99 阅读 · 0 评论 -
Spring环境搭建入门,hello world
Spring环境搭建1、 导入jar包2、 约束贴上去通过set方法创建对象注意:如果类中有带参数的构造方法则需要再创建一个无参的构造方法创建对象的三种方法通过构造方法创建无参:默认就是无参有参:需要明确配置1需要在类中提供有参的构造方法2在xml中设置调用哪个构造方法创建对象1.1如果设定的条件匹配多个构造方法则调用最后一个index:构造方法中参数的下标ref:...原创 2020-03-19 11:02:06 · 141 阅读 · 0 评论 -
JDK是什么以及jdk的作用配置环境变量的过程中我们所用到的变量究竟是用来干嘛的?ClassPath、JAVA_HOME、PATH
JDK简介:jdk是由SunMicrosystems开发商所开发的是Java Development Kit的缩写,全称就是Java开发工具包。它包含了java运行时环境(JVM+java系统类库)和java工具jdk包含的基本组件:javac - 编译器,将源程序转化为字节码jar - 打包工具,将相关的类文件打包为一个文件javadoc - 文档生成器,从源码注释中提取文档jd...原创 2019-12-15 14:08:29 · 782 阅读 · 0 评论