自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度通俗理解Spring的IOC和AOP原理

IOC,依赖倒置的意思所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。所谓倒置,你必须理解如果不倒置,会怎么着,因为A必须要有B,才可以调用B,如果不倒置,意思就是A主动获取B的实例:B b = new B(),这就是最简单的获取B实例的方法(当然还有各种设计模式可以帮助你去获得B的实例,比如工厂、Locator等等),然后你就可以调用b对象了。所以,不倒置,意味着A要主动获取B,才能使用B;到了这里,你就应该明白了倒置的意思了。倒置就是A要调用B的

2022-04-08 16:47:00 366

转载 Java8新特性Lambda 表达式有何用处?如何使用?(超详细)

Java8新特性Lambda 表达式有何用处?如何使用?(超详细)答主对Java比较熟悉,就用Java来讲一讲吧。什么是Lambda?我们知道,对于一个Java变量,我们可以赋给其一个“值”。如果你想把“一块代码”赋给一个Java变量,应该怎么做呢?比如,我想把右边那块代码,赋给一个叫做aBlockOfCode的Java变量:在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。当然,这个并不是一个很简洁的写法。所以,为

2022-04-08 16:38:31 440

原创 Java中的@PostConstruct注解

是Java自己的注解:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:Constructor(构造方法) -> @Autowired(依赖注入) -> @Po..

2022-03-25 16:52:51 1197

转载 Spring Boot 中的Thumbnails使用方法(图片处理工具类)

我们在java开发时,使用Thumbnails工具类能帮助我们对图片进行很好的处理,Thumbnails对图片的操作进行了很好的封装,往往很复杂的步骤能用一行代码就完成。Thumbnails支持:指定大小进行缩放 按照比例进行缩放 不按照比例,指定大小进行缩放 旋转 水印 裁剪 转化图像格式 输出到OutputStream 输出到BufferedImage1、导入mvn包<dependency> <groupId>net.coobird</

2022-03-24 17:30:07 1264 3

原创 Java Springboot请求传参、响应xml格式数据

SpringBoot可以直接导入依赖,通过注解方式实现话不多说~淦淦淦!!!!!!<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId></dependency>在方法上加上注解 @RequestMapping(value="/test"

2022-03-24 16:00:03 1708

转载 通俗理解聚集索引和非聚集索引

通俗理解聚集索引和非聚集索引

2022-03-12 20:06:28 462

转载 PostgreSQL模糊查询, postgres特殊符号模糊查询

在做WEB项目时, 经常会需要使用搜索功能, 而且大多数时候是需要模糊搜索, 以下将对模糊搜索进行介绍:通常我们是这样写的:SELECT * FROM 表名 WHERE 字段 LIKE ('%' || '关键字' || '%')或者这样写:SELECT * FROM 表名 WHERE 字段 ~* '关键字'但是这两种是有风险的!可能出现的问题:invalid regular expression: quantifier operand invalid出现原因: 使用 ~* 符号进行模糊

2022-03-07 15:04:03 4025

原创 手机号加密算法(记录思路)

总体思路:手机号类型Long11位手机号转成2进制(差不多37位)long类型转成byte[5]———— 长度5原因:总共5个字节,一个字节8位,正好够在往数组之间插数据加密加密思路:左右旋,反转最后转成base64码——凑够48个字节好转成base64(48转的话base64没有‘==’符号)...

2022-02-28 14:06:11 1928

原创 10w数据插入数据库的记录(java)——批量插入优化

MobileBook ———— 手机号|姓名|生日|备注使用联合索引(查数据快)1、创建一个HashMap,其中key=“mobile”,value=bookUserHashMap<String,Object> book = new Hash Map<>()2、将book中的key提取出来,放到list中List mobiles = new ArrayList<>(book.Set())3、Mybatis 条件构造 in(“mobile”,l

2022-02-23 14:23:22 864

转载 PostgreSQL 如何实现批量更新、删除、插入

站在巨人的肩膀上https://developer.aliyun.com/article/74420

2022-02-16 16:30:45 3081

转载 Java获取HashMap中的key

在 Java 中,从 HashMap 中获取键的最简单方法是调用 HashMap 对象上的 keySet() 方法。它返回一个包含来自 HashMap 所有键的集合。在下面的例子中,我们将首先创建一个 HashMap 对象,在其中插入一些值,然后使用 keySet() 来获取键。import java.util.*;public class MyClass { public static void main(String args[]) { // Create a HashM

2022-02-15 17:29:36 9088

原创 Java 将多个list合并成一个

public static void main(String[] args) { List<Integer> list1 = Arrays.asList(1, 2, 3); List<Integer> list2 = Arrays.asList(4, 5, 6); List<Integer> list3 = Arrays.asList(7, 8, 9); List<Integer> merge

2022-02-15 17:14:53 16278 2

转载 Java最全截取字符串方法

主要有以下几种方法:1、通过subString()方法来进行字符串截取(最常用)2、通过StringUtils提供的方法3、split()+正则表达式来进行截取先来介绍最常用的一种1、通过subString()方法来进行字符串截取,返回字符串中的子字符串,在java中有两种用法第一种,传递一个参数:public String substring(int beginIndex) //该子字符串从指定索引处的字符开始,直到此字符串末尾。第二种,传递两个参数:

2022-02-15 17:11:49 159212 7

转载 Mybatis中#{}和${}的区别是什么?

原文链接,讲的很细!!!!!动态 sql 是 MyBatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 MyBatis 会对其进行动态解析。MyBatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。面试题:#{}和KaTeX parse error: Expected 'EOF', got '#' at position 13: {}的区别是什么?1)#̲{}是预编译处理, {}是字符串替换。2)MyBatis在处理#{}时,会将SQL中的

2021-07-30 17:17:51 1214

转载 this和super的用法区别

this在java中,this是一个引用当前类对象的引用变量,主要有以下几种用法:引用当前类的实例变量·this关键字可以用来引用当前类的实例变量。如果实例变量和某个方法的参数之间存在歧义(实例变量和参数命名相同),则通过this.变量名 可用于明确地指定实例变量以解决歧义问题。** 调用当前类方法**可以使用this关键字调用当前类的方法,格式:this.方法名。如果不使用this关键字,编译器会在调用方法时自动添加此 this 关键字。调用当前类的构造函数this()构造函数调

2021-07-29 13:07:52 691

转载 session.setAttribute()和session.getAttribute()的使用

网上搜了些资料B/S架构中,客户端与服务器连接,在服务端就会自动创建一个session对象. session.setAttribute(“username”,username); 是将username保存在session中!session的key值为“username”value值就是username真实的值,或者引用值. 这样以后你可以通过session.getAttribute(“username”)的方法获得这个对象. 比如说,当用户已登录系统后你就在session中存储了一个用户信息对象,此后你可

2021-03-15 16:26:32 36048 3

原创 SpringBoot解决跨域问题(has been blocked by CORS policy: Response to preflight request doesn‘t pass...)

SpringBoot中在包含有大量的注解,针对跨域问题,也提供了对应的注解@CrossOrigin@CrossOrigin源码参考:@Target({ ElementType.METHOD, ElementType.TYPE })@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface CrossOrigin { String[] DEFAULT_ORIGINS = { "*" }; String[] DEF

2021-02-16 17:43:16 24595 1

原创 JS中this的指向问题(Uncaught (in promise) TypeError: Cannot read property ‘$router‘ of undefined)

代码如下:login(){ // let that = this; //地址http://localhost:8000/user/login、参数this.user axios .post("http://localhost:8000/user/login",this.user) .then(function(response){ if(response.data=="登录成功"){ //返回主界面 .

2021-02-16 15:27:27 1938

转载 深度理解GET和POST两种基本请求方法的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookma

2021-02-05 19:38:04 161

转载 JVM运行时区域由哪几部分组成及其作用

Java虚拟机的运行时区域构成图如下所示:线程共享区域:Java堆:(1)Java堆是java虚拟机所管理的内存中最大的一块;(2)被所有线程共享区域,在虚拟机启动时创建,唯一目的存放对象实例;(3)堆区是gc的主要区域,通常情况下分为两个区块年轻代和年老代。更细一点年轻代又分为Eden区最要放新创建对象,From survivor 和 To survivor 保存gc后幸存下的对象,默认情况下各自占比 8:1:1。 进一步划分的目的是为了更还的内存回收或者更快的内存分配;(4)会有异常Out

2021-02-05 17:28:08 340

转载 常用SQL语句及一些高级查询语句

详情见连接

2021-02-05 17:24:45 156

转载 使用ajax方法实现form表单的提交(Ajax和from提交的区别)

写在前面的话在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说想要将控制权放在前端,通过js来操作页面的跳转或者数据变化。一般这种异步的操作,我们都会想到ajax方式,因此在实现了功能后就整理了这篇文章,通过ajax方法实现form表单的提交并进行后续的异步操作。常见的form表单提交方式<!DOCTYPE HTML PUBLIC "-//W3C//DTD

2021-02-05 17:16:12 989

原创 Collection和Collections区别的理解

1.Collection:是集合类的上层接口。本身是一个Interface,里面包含了一些集合的基本操作。Collection接口时Set接口和List接口的父接口2.CollectionsCollections是一个集合框架的帮助类,里面包含一些对集合的排序,搜索以及序列化的操作。最根本的是Collections是一个类,Collections 是一个包装类,Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,

2021-02-05 09:58:43 5537

原创 配置Mybatis-plus(java.lang.IllegalStateException: Failed to load ApplicationContext)

java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) at org.springframework.test.context.support.

2021-02-03 21:21:23 1429 1

转载 栈与堆得爱恨纠缠(含义与区别)

栈内存:栈内存主要用来执行程序用的,存储的是局部变量和对象的引用,凡是定义在方法中的都是局部变量,for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,一旦离开作用域,变量就会被释放。栈内存更新的速度很快,因为局部变量的生命周期很短。栈内存可以类似看做是一个矿泉水瓶,往里面放入东西,会马上沉入底部,所以它的特点是:先进后出,后进先出栈的存储速度比堆要快,仅次于寄存器,栈数据是可以共享,但是缺点是,存在栈中的数据大小和生存必须是确定的,缺乏灵活性栈内存

2021-02-02 15:02:15 197

转载 java中构造方法的作用

构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。构造方法就是与类同名的那个方法,它的作用是可以用来初始化例子如下:class Person //人类{ public Person(String n,int a) //构造方法{ name = n; age = a; } private string name; private int a

2021-02-02 11:27:28 427

原创 设计模式之单例模式(饿汉式)

单例设计模式:类 对象1 = new 类(); //实例化类 对象2 = new 类(); //实例化对象1 == 对象2 ?饿汉式1、把构造方法私有化2、在本类创建实例3、用static修饰本类中创建的实例4、创建成员方法,用static修饰,目的是返回当前类下实例5、私有化当前类下实例代码如下:class Singleton{ private Singleton(){ } static Singleton s = new Single

2021-02-02 11:18:56 62

转载 数据库优化思路

(1)根据服务层面:配置mysql性能优化参数;(2)从系统层面增强mysql的性能:优化数据表结构、字段类型、字段索引、分表,分库、读写分离等等。(3)从数据库层面增强性能:优化SQL语句,合理使用字段索引。(4)从代码层面增强性能:使用缓存和NoSQL数据库方式存储,如MongoDB/Memcached/Redis来缓解高并发下数据库查询的压力。(5)减少数据库操作次数,尽量使用数据库访问驱动的批处理方法。(6)不常使用的数据迁移备份,避免每次都在海量数据中去检索。(7)提升数据库服务器硬件

2021-02-02 09:54:07 258

原创 常见注解@RestController、@Value、@Autowired、@GetMapping

```java@RestControllerpublic class indexController { @Value("${com.neuedu.name}") private String name; @Autowired private PayConfig payConfig; @GetMapping("/index") public User index(){ User user = new User(); .

2021-01-15 08:34:52 1114

原创 Spring Boot 新手常见错误:Error creating bean with name “XXX”

报错:org.springframework.beans.factory.BeanCreationException: Errorcreating bean with name ‘indexController’: Injection of autowireddependencies failed; nested exception isjava.lang.IllegalArgumentException: Could not resolve placeholder‘com.neuedu.name.

2021-01-14 11:04:47 6590 7

转载 String,StringBuffer与StringBuilder的区别

三者的区别:(1)字符修改上的区别(主要,见上面分析)(2)初始化上的区别,String可以空赋值,后者不行,报错①StringString s = null;String s = “abc”;②StringBufferStringBuffer s = null; //结果警告:Null pointer access: The variable result can only be null at this locationStringBuffer s = new StringBuffer

2020-12-01 12:51:16 106

转载 Java中getResourceAsStream的用法

首先,Java中的getResourceAsStream有以下几种:Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开

2020-11-17 16:39:19 229

原创 获取session常用的几种方法

获取session常用的几种方法1.在action中获取sessionHttpServletRequest request = ServletActionContext.getRequest();String RealRandomCode =(String)request.getSession().getAttribute("rand");2.在jsp页面获取sessionsession.setAttribute("rand",sRand);3.spring mvc中HttpServlet

2020-10-22 10:26:33 5345

原创 什么时候设计为抽象类,什么时候设计为接口类?

抽象类侧重于描述事物本质,而接口侧重于描述事物的功能例如:保温杯是水杯,有保温功能。class 保温杯 extends 水杯 implements 保温防盗门是门,有防盗功能class 防盗门 extends 门 implements 防盗...

2020-10-22 09:36:03 160

转载 有参构造器(方法)和无参构造器(方法)的作用(区别)

一、概念java中构造方法指的是:与类名相同,无返回类型的方法,参数可以为空,也可以带参数。比如一个 Dao 类,private Dao(){}这个就是无参数的构造方法。private Dao(String name){}这个就是带参数的构造方法。作用:用来初始化 java 类,提供类的初始化和实例化,以便调用。二、作用new一个对象的时候要用到构造函数,例如Hello hello = new Hello();这时调用的是Hello的无参数构造方法;Hello hello = new Hell

2020-10-21 17:29:52 14020 8

原创 生命周期的含义以及Spring中bean的生命周期

生命周期的含义生命周期就是指一个对象的生老病死。生命周期(Life Cycle)的概念应用很广泛,特别是在政治、经济、环境、技术、社会等诸多领域经常出现,其基本涵义可以通俗地理解为“从摇篮到坟墓”(Cradle-to-Grave)的整个过程。对于某个产品而言,就是从自然中来回到自然中去的全过程,也就是既包括制造产品所需要的原材料的采集、加工等生产过程,也包括产品贮存、运输等流通过程,还包括产品的使用过程以及产品报废或处置等废弃回到自然过程,这个过程构成了一个完整的产品的生命周期。在传统的Java应

2020-10-16 13:46:59 346

转载 springMVC 使用WebApplicationContext获取ApplicationContext对象

1、applicationContext在web.xml中使用listener配置<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value></context-param><listener> <listener-c

2020-10-15 14:54:43 356 2

转载 doget和dopost的区别

get和post是http协议的两种方法这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。在servlet开发中,以doGet()和doPost()分别处理get和post方法。首先判断请求时是get还是post,如果是get就调用doGet(), 如果是post就调用doPost()。都会执行这个方法。1.doGetGET 调用用于获取服务器信息,并将

2020-10-15 14:04:34 152

转载 request.getRequestURL()和request.getRequestURI()的区别

request.getRequestURL() 返回全路径 request.getRequestURI()返回除去host(域名或者ip)部分的路径 request.getContextPath()返回工程名部分,如果工程映射为/,此处返回则为空 request.getServletPath() 返回除去host和工程名部分的路径例如: request.getRequestURL() http://localhost:8080/jqueryLearn/resources/request.jspre.

2020-10-14 14:32:33 1151

空空如也

空空如也

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

TA关注的人

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