自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring - 事务 - 事务介绍

事务(Transaction)在数据库管理中指的是一个工作单元,它由一系列的操作组成,这些操作要么全部成功,要么全部失败。事务的概念对于确保数据的完整性和一致性至关重要,尤其是在并发环境和分布式系统中。

2024-07-18 17:44:57 172

原创 Spring - AOP - 底层原理

然而,它的缺点也很明显,如果需要代理的对象很多,那么需要为每一个对象都创建一个代理类,这会导致代码量的增加和维护成本的上升。此外,如果接口中的方法数量增加,那么所有的代理类都需要进行修改,这违反了开闭原则(Open/Closed Principle)。因此,在实际应用中,动态代理往往更受欢迎,因为它可以避免这些问题。举个例子:客户找老板, 让秘书登记来访人员和时间, 记录来访用时,并且让秘书拒绝老板不想见的客户。:这是一个工具类,用于创建代理实例。方法就会被执行,从而实现了在方法调用前后的增强行为。

2024-07-18 15:19:04 800

原创 Spring - AOP - 切点

当多个增强的切点表达式相同时,可以将切点表达式进行抽取。Spring提供了@PointCut注解,该注解的作用是将公共的切入点表达式抽取出来,需要的时候引用改切入点表达式即可。

2024-07-16 16:23:45 839

原创 Spring - AOP - 通知

Spring - AOP - 通知。

2024-07-16 14:43:50 381

原创 Spring - AOP - 介绍

Spring 框架的一个关键组件是面向切面的编程(AOP)框架。面向切面的编程需要把程序逻辑分解成不同的部分称为所谓的关注点。跨一个应用程序的多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。在软件开发过程中有各种各样的很好的切面的例子,如日志记录、审计、声明式事务、安全性和缓存等。在 OOP 中,关键单元模块度是类,而在 AOP 中单元模块度是切面。依赖注入帮助你对应用程序对象相互解耦合,AOP 可以帮助你从它们所影响的对象中对横切关注点解耦。

2024-07-16 13:15:42 784

原创 Spring - AOP - 术语

在切面的某个特定的连接点上执行的动作。许多 AOP 框架,包括 Spring 在内,都是以拦截器做通知模型的,并维护着一个以连接点为中心的拦截器链。通知和切点表达式相关联,并在满足这个切点的连接点上运行(例如,当执行某个特定名称的方法时)。顾问是 Advice 的一种包装体现,Advisor 是 Pointcut 以及 Advice 的一个结合,用来管理 Advice 和 Pointcut。在Spring AOP中,一个连接点总是代表一个方法的执行,其实就代表增强的方法。即包含主业务逻辑的类的对象。

2024-07-10 17:58:30 264

原创 Spring - IOC - 循环依赖

这会导致程序编译失败或运行时出现异常。在配置文件中放开循环依赖限制。添加需要依赖的构造函数。

2024-07-10 16:39:52 186

原创 Spring - IOC - Bean生命周期

在Spring框架中,Bean的生命周期是指从Bean的实例化开始直到销毁的过程。当Spring容器关闭时,如果Bean定义了。属性,那么对应的初始化方法会被调用。属性,那么对应的销毁方法会被调用。

2024-07-10 16:21:30 1341

原创 Spring - IOC - @Conditional 条件注入

Spring - @Conditional 条件注入。

2024-07-10 15:54:07 191

原创 Spring - IOC - @Lazy 懒加载

Spring - @Lazy 懒加载。

2024-07-09 16:24:19 204

原创 Spring - IOC - @DependsOn 改变Bean创建顺序

Spring - @DependsOn 改变Bean创建顺序。

2024-07-09 16:16:35 106

原创 Spring - IOC - @Order 改变自动注入顺序

Spring - @Order 改变自动注入顺序。

2024-07-09 15:11:29 121

原创 Spring - IOC - @Value

Spring - @Value。

2024-07-09 14:27:03 274

原创 Spring - IOC - 注入装配

Resource是JSR250规范的实现,在包下@Resource可以作用TYPE、FIELD、METHOD上@Resource是默认根据属性名称进行自动装配的,如果有多个类型一样的Bean候选者,则可以通过name进行指定进行注入@Inject是JSR330 (Dependency Injection for Java)中的规范,需要导入javax.inject.Inject jar包 ,才能实现注入@Inject可以作用CONSTRUCTOR、METHOD、FIELD上。

2024-07-09 10:09:25 576

原创 Spring - IOC - 实例化Bean

FactoryBean是一个接口,需要有一个Bean,实现FactoryBean接口的Bean就成为了特殊的Bean。如果有参构造函数有多个并且没有无参构造函数,会报错;需要一个无参构造函数。如果只有一个有参构造函数spring会调用,并且把产生自动装配进来。===> 想通过容器去获取对应的类型,就需要。===>当通过Bean名称实际获取到的就是。有多个构造函数依然会调用无参构造函数。可以自由的选择构造函数进行实例化。在Bean名称开头使用。

2024-07-07 11:17:46 684

原创 Spring - IOC - 配置Bean

Bean 可以干预bean的实例化过程,jar包中的类如果要配置bean就需要用@Bean。批量注册bean(通过实现selectlmports,返回bean的完整类路径字符串数组)@Bean方法调用另一个@Bean方法,会从spring容器获取。@lmport(实现lmportSelector.class)@Bean 通常出现在方法上面,也可用于自定义注解上。@Bean中声明的参数spring会帮我们自动注入进来。定义一个实现 ImportSelector 接口。@Bean 通常写在配置类里面(

2024-07-04 17:42:29 750

原创 Spring - 基于JavaConfig装配

Spring - 基于JavaConfig装配。

2024-07-03 14:01:42 726

原创 Spring - 基于注解装配

Spring - 基于注解装配。

2024-07-03 13:36:49 542

原创 Spring - 基于XML装配

Spring - 基于XML装配。

2024-07-03 10:30:54 976

原创 Maven - 目录结构

目录:Maven - 目录结构1. 各个目录的作用2. 约定目录结构的意义3. 约定大于配置Maven - 目录结构1. 各个目录的作用另外还有一个target目录专门存放构建操作输出的结果。2. 约定目录结构的意义Maven为了让构建过程能够尽可能自动化完成,所以必须约定目录结构的作用。例如:Maven执行编译操作,必须先去Java源程序目录读取Java源代码,然后执行编译,最后把编译结果存放在target目录。3. 约定大于配置Maven对于目录结构这个问题,没有采用配置的方式

2024-07-01 16:11:52 172

原创 Maven - IDEA创建Maven项目

目录:Maven - IDEA创建Maven项目1. 新建项目2. 选择 Maven 项目Maven - IDEA创建Maven项目1. 新建项目2. 选择 Maven 项目Java 项目项目名称项目储存地址Maven构建系统JDK版本组 ID(包名)工件 ID(项目名称)

2024-07-01 15:44:39 382

原创 Maven - IDEA 配置

更改为Maven目录。

2024-07-01 14:43:44 170

原创 Maven - 下载安装

maven 是一个java 工具,使用它必须 下载安装 Java 环境

2024-07-01 14:20:59 881

原创 CentOS 7 安装 MySQL

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包。下载地址为:https://dev.mysql.com/downloads/repo/yum/

2024-07-01 10:48:11 112

原创 Java - 多态

在编译的时候,编译器使用Employee类中的mailCheck()方法验证该语句, 但是在运行的时候,Java虚拟机(JVM)调用的是Salary类中的mailCheck()方法。还可以引用和它类型相同的或者相兼容的对象。Java中所有的方法都能以这种方式表现,借此,重写的方法能在运行时调用,不管编译的时候源代码中引用变量是什么数据类型。因为e是Employee的引用,所以调用e的mailCheck()方法则有完全不同的结果。当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法。

2024-06-27 13:42:59 957

原创 Java - 包(package)

而且在实际开发中这样做是值得提倡的,当你自己完成类的实现之后,将相关的类分组,可以让其他的编程者更容易地确定哪些类、接口、枚举和注释等是相关的。之后,如果其他的一个源文件包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个package的声明放在这个源文件的开头。编译之后的.class文件应该和.java源文件一样,它们放置的目录应该跟包的名字对应起来。编译的时候,编译器为包中定义的每个类、接口等类型各创建一个不同的输出文件,输出文件的名字就是这个类型的名字,并加上.class作为扩展后缀。

2024-06-27 13:41:03 904

原创 Java - 接口

正如EventListener接口,这是由几十个其他接口扩展的Java API,你可以使用一个标记接口来建立一组接口的父接口。这种情况是标记接口最初的目的,实现标记接口的类不需要定义任何接口方法(因为标记接口根本就没有方法),但是该类通过多态性变成一个接口类型。以上的程序片段是合法定义的子接口,与类不同的是,接口允许多重继承,而 Sports及 Event 可能定义或是继承相同的方法。Hockey接口自己声明了四个方法,从Sports接口继承了两个方法,这样,实现Hockey接口的类需要实现六个方法。

2024-06-27 13:40:22 704

原创 Java - 封装

在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。要访问该类的代码和数据,必须通过严格的接口控制。

2024-06-27 13:39:41 264

原创 Java - 抽象类

在 Java 面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。尽管我们不能实例化一个Employee类的对象,但是如果我们实例化一个Salary类对象,该对象将从Employee类继承3个成员变量和7个成员方法。继承抽象方法的子类必须重写该方法。如果你想设计这样一个类,该类包含一个特别的成员方法,该方法的具体实现由它的子类确定,那么你可以在父类中声明该方法为抽象方法。

2024-06-27 13:38:59 340

原创 Java - 重写(Override)与重载(Overload)

方法的重写 (Overriding) 和重载 (Overloading) 是 java 多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载 (Overloading)。(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写 (Overriding)。

2024-06-27 13:37:51 884

原创 Java - 继承

如果类 A 是类 B 的父类,而类 B 是类 C 的父类,我们也称类 C 是 A 的子类,类 C 是从类 A 继承而来的。所有 Java 的类均是由 java.lang.Object 类继承而来的,所以 Object 是所有类的祖先类,而除了 Object 外,所有类必须有一个父类。作为子类,类 B 的实例拥有类 A 所有的成员变量,但对于 private 类型的成员变量类 B 却没有访问权限,这保障了类 A 的封装性。以上的代码片段说明,类 B 由类 A 继承而来的,类 B 是类 A 的子类。

2024-06-27 13:36:35 687

原创 Java - File 和 IO - File类

该类主要用于文件和目录的创建、文件的查找和文件的删除等。根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。File对象代表磁盘中实际存在的文件和目录。通过以下构造方法创建一个File对象。通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。创建File对象成功后,可以使用以下列表中的方法操作文件。

2024-06-26 14:07:54 585

原创 Java - File 和 IO - FileWriter类

FileWriter类从OutputStreamWriter类继承而来。该类按字符向流中写入数据。可以通过以下几种构造方法创建需要的对象。在给出文件名的情况下构造 FileWriter 对象,它具有指示是否挂起写入数据的 boolean 值。创建FileWriter对象成功后,可以参照以下列表里的方法操作文件。在给出 File 对象的情况下构造一个 FileWriter 对象。在给出 File 对象的情况下构造一个 FileWriter 对象。构造与某个文件描述符相关联的 FileWriter 对象。

2024-06-26 14:07:15 290

原创 Java - File 和 IO - FileReader类

FileReader类从InputStreamReader类继承而来。该类按字符读取流中数据。可以通过以下几种构造方法创建需要的对象。在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。在给定从中读取数据的 File 的情况下创建一个新 FileReader。创建FIleReader对象成功后,可以参照以下列表里的方法操作文件。在给定从中读取数据的文件名的情况下创建一个新 FileReader。

2024-06-26 14:06:38 161

原创 Java - Stream 流 - DataOutputStream类

下面的例子演示了DataInputStream和DataOutputStream的使用,该例从文本文件test.txt中读取5行,并转换成大写字母,最后保存在另一个文件test1.txt中。数据输出流允许应用程序以与机器无关方式将Java基本数据类型写到底层输出流。创建对象成功后,可以参照以下列表给出的方法,对流进行写操作或者其他操作。下面的构造方法用来创建数据输出流对象。

2024-06-26 14:05:39 395

原创 Java - Stream 流 - DataInputStream类

下面的例子演示了DataInputStream和DataOutputStream的使用,该例从文本文件test.txt中读取5行,并转换成大写字母,最后保存在另一个文件test1.txt中。另一种创建方式是接收一个字节数组,和两个整形变量 off、len,off表示第一个读取的字节,len表示读取字节的长度。数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。下面的构造方法用来创建数据输入流对象。

2024-06-26 14:04:55 359

原创 Java - Stream 流 - ByteArrayOutputStream类

字节数组输出流在内存中创建一个字节数组缓冲区,所有发送到输出流的数据保存在该字节数组缓冲区中。创建字节数组输出流对象有以下几种方式。成功创建字节数组输出流对象后,可以参见以下列表中的方法,对流进行写操作或其他操作。下面的构造方法创建一个32字节(默认大小)的缓冲区。另一个构造方法创建一个大小为n字节的缓冲区。

2024-06-26 14:04:09 289

原创 Java - Stream 流 - ByteArrayInputStream类

字节数组输入流在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中。创建字节数组输入流对象有以下几种方式。另一种创建方式是接收一个字节数组,和两个整形变量 off、len,off表示第一个读取的字节,len表示读取字节的长度。成功创建字节数组输入流对象后,可以参见以下列表中的方法,对流进行读操作或其他操作。

2024-06-26 14:03:27 250

原创 Java - String类 - valueOf() 方法

删除头尾空白符的字符串。

2024-06-24 13:42:14 318

原创 Java - String类 - trim() 方法

trim() 方法用于删除字符串的头尾空白符。删除头尾空白符的字符串。

2024-06-24 13:41:29 130

HCL.AppScan.Standard v10.5.0

AppScan隶属于HCL品牌旗下 ,是一款网络安全测试工具 ,是安全工具软件 ,用于WEB安全防护的扫描防护 。appscan扫描器的扫描结果生成WAF ,对网站漏洞直接防护

2024-04-24

空空如也

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

TA关注的人

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