自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring整合web环境

Spring其实已经为我们定义好了一个ContextLoaderListener,使用方式跟我们上面自己定义的大体一样。先导入Spring-web的坐标。

2023-11-30 22:51:08 671

原创 基于AOP的声明式事物控制

事务是开发中必不可少的东西,使用JDBC开发时,我们使用connection对事务进行控制,使用MyBatis时,我们使用SqlSession对事务进行控制,缺点显而易见,当我们切换数据库访问技术时,事务控制的方式总会变化。

2023-11-29 22:49:12 564

原创 基于注解配置的AOP

Spring的AOP也提供了注解方式配置,使用相应的注解代替之前的xml配置。

2023-11-27 23:00:18 512

原创 基于xml配置的AOP

包名与类名之间使用单点,表示该包下面的类,使用双点..表示该包及其子包下的类。Spring定义了一个Advice接口,实现该接口的类都可以作为通知类出现。在通知类型已经固定,不用人为指定通知类型时,可以使用advisor进行配置。4.配置织入(切点被哪些通知方法增强,是前置增强还是后置增强)如果通知类型单一,切面单一的情况下可以使用advisor进行配置。返回值类型,某一级包名,类名,方法名可以使用*表示所有。aspect是通过配置确认通知的类型,更加灵活。使用<aspect>配置切面。

2023-11-26 23:14:42 704

原创 AOP简介

AOP,Aspect Oriented Programming,面向切面编程,是对面向编程OOP的升华。OOP是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而AOP是横向的对不同事物的抽象,属性与属性,方法与方法,对象与对象都可以组成一个切面,用这种思维去设计编程的方式叫做面向切面编程。

2023-11-25 23:19:55 440

原创 Spring注解方式整合第三方框架

第三方框架是指由其他开发者或团队开发的软件模块或库,供开发者在自己的应用程序中使用。这些框架通常提供了一系列已经封装好的功能或工具,可节省开发者的时间和精力。常见的第三方框架包括Web框架、移动应用程序开发框架、图形界面框架、数据库框架、游戏引擎等。开发者可以通过相应的API调用第三方框架提供的功能,从而快速地构建出自己的应用程序。

2023-11-24 23:58:56 503

原创 Spring配置其他注解&Spring注解的解析原理

Primary注解用于标注相同类型的Bean优先被使用权,@Primary是Spring 3.0引入的,与@Component和@Bean一起使用,标注该Bean的优先级更高,则在通过类型获取Bean或通过@Autowired根据类型进行注入时,会选用优先级更高的。使用配置类配置组件扫描,使用AnnotationConfigApplicationContext容器在进行创建时,内部调用了如下代码,该工具注册了几个Bean后处理器。

2023-11-23 22:56:18 485

原创 非自定义Bean注解开发&&Bean配置类的注解开发

非自定义的Bean不能像自定义Bean使用@Component进行管理,非自定义Bean要通过工厂的方式进行实例化,使用@Bean标注方法即可,@Bean的属性文beanName如果@Bean工厂方法需要参数注入,有以下三种方法使用@Autowired 根据类型自动进行Bean匹配,@Autowired可以省略使用@Qualifier 根据名称进行Bean的匹配使用@Value根据名称进行普通数据类型匹配@Component){//设置基本参数。

2023-11-23 22:51:01 448

原创 Bean依赖注入注解开发

【代码】Bean依赖注入注解开发。

2023-11-22 23:35:26 75

原创 Bean基本注解开发

Bean 定义的 bean name 的生成规则是: 优先取注解中 name 指定的名字做为 bean name。@Service、@Componet 定义的 bean name 的生成规则如下: 优先取注解中的 value 指定的名字做为 bean name。如果类名是连续2个首字母大写的话,bean name 就是类名,例如:“mypackage.MYJdbcDao” -> “MYJdbcDao”注意:@Component注解开发不指定id的话,那就是类名首字母小写。

2023-11-22 23:24:26 102

原创 Servlet执行流程&&Servlet 生命周期

对象的生命周期指一个对象从被创建到被销毁的整个过程。

2023-11-21 23:41:10 167

原创 Spring整合其他组件

准备好NamespaceHandler,如果命名空间只有一个标签,那么直接在parse方法中进行解析即可,一般解析结果就是注册该标签对应的BeanDefinition,如果命名空间里有多个标签,那么可以在init方法中为每个标签都注册一个BeanDefinitionparser,在执行NamespaceHandle的parse方法时分流给不同的BeanDefinitionPaser进行解析。

2023-11-21 23:28:07 135

原创 Spring整合Mybatis

之间简单配置过SqlSessionFactory,但这并不是正规的整合方式,MyBatis提供了mybatis-spring.jar专门用于两大框架的整合编写Mapper和Mapper.xml配置SqlSessionFactory和MapperScannerConfigurer。

2023-11-20 23:37:40 97

原创 Spring Bean的生命周期

Spring Bean的生命周期是从Bean实例化之后,即通过反射创建出对象之后,到Bean成为一个完整对象,最终存储到单例池中,这个过程被称为Spring Bean的生命周期。大体分为三个阶段Bean的实例化:Spring框架会取出BeanDefinition的信息进行判断当前Bean的范围是否是singleton的,是否不是延迟加载的,是否不是FactoryBean等,最终将一个普通的singleton的Bean通过反射进行实例化。

2023-11-20 23:31:28 1512

原创 Spring的后处理器

Spring的后处理器是spring对外开发的重要扩展点,允许我们介入到Bean的整个实例化流程来,以达到动态注册BeanDefintion,动态修改BeanDefintion,以及动态修改Bean的作用。Bean被实例化后,到最终缓存到名为singletonObjects单例池之前,中间会经过Bean的初始化过程,例如:属性填充,初始化方法init的执行等,BeanFactoryPostProcessor:Bean工厂后处理器,BeanDefintionMap填充完毕,Bean实例化之前执行;

2023-11-19 22:20:39 303

原创 Bean实例化的基本流程

所有的BeanDefintion存储到BeanDefintionMap的Map集合中去,Spring框架对该Map进行遍历,使用反射创建Bean实例对象,,当调用getBean方法时,则最终从该Map集合中取出Bean实例对象返回。创建好的Bean对象存储在一个·名为singleObject的Map集合中。xml配置的<bean>的信息封装成一个BeanDefintion对象。Spring容器在进行初始化时,会将。

2023-11-19 22:09:03 62

原创 Spring配置非自定义Bean

配置非自定义的Bean需要考虑如下两个问题被配置的Bean的实例化方式是什么?有参构造,无参构造,静态工厂方式还是实例化工厂方式被配置的Bean是否需要注入必要属性。

2023-11-18 23:45:27 33

原创 Spring的get方法

【代码】Spring的get方法。

2023-11-18 23:40:26 134

原创 SpringBean的配置详解 ---下

import>标签,用于导入其他配置文件,项目变大后,就会导致文件内容过多,可以将一个配置文件根据业务某块进行拆分,拆分后,最终通过标签导入到一个主配置文件中,项目加载主配置文件就连同导入的文件一并加载。其中,ref是reference的缩写形式,翻译为:涉及,参考的意思,用于引用其它Bean的id。普通数据类型,例如String,int,boolean等,通过value属性指定。Spring的xml标签大体上分为两类,一种是默认标签,一种是自定义标签。

2023-11-17 22:33:52 38

原创 SpringBean的配置详解 --中

Bean的初始化和销毁方法配置当lazy-init设置为true时为延迟加载,也就是当Spring容器加载的时候,不会立即创建Bean实例,等待用到时再创建Bean实例并存储到单例池中,后续在使用Bean直接从单例池获取即可,本质上Bean还是单例的 <bean id="userDao" name="dao" class="com.xfy.dao.Impl.UserDaoImpl" lazy-init="true" ></bean>Bea

2023-11-17 22:27:42 51

原创 SpringBean的配置详解

当lazy-init设置为true时为延迟加载,也就是当Spring容器加载的时候,不会立即创建Bean实例,等待用到时再创建Bean实例并存储到单例池中,后续在使用Bean直接从单例池获取即可,本质上Bean还是单例的。此时存储到Spring容器中的Bean的beanName是userDao,值是UserDaoImpl,可以根据beanName获取Bean实例。,Spring容器创建的时候,就会进行Bean的实例化,并存储到容器的单例池中,每次getBean时,都是从单例池中获取相同的Bean实例。

2023-11-16 23:03:02 31

原创 ApplicationContext快速入门&& 与BeanFactory的关系

ApplicationContext称为Spring容器,内部封装了BeanFactory,比BeanFactory功能更丰富更强大,使用ApplicationContext进行开发时,xml配置文件名称习惯写成ApplicationContext.xml。在Spring基础环境下,即只导入spring-context坐标时,此时ApplicationContext的继承体系。ApplicationContext 英文含义:应用上下文。

2023-11-16 22:53:37 790

原创 BeanFactory快速入门

BeanFactory

2023-11-15 22:17:03 31

原创 关于使用vue过程中警告的问题Cannot read properties of undefined (reading ‘prototype‘)

原因是我项目中安装了element-ui相关的依赖以及插件,导致报警告。后续解决办法:将插件以及依赖删除,使用element-plus。

2023-06-13 10:11:02 755

原创 Windows 安装 Zookeeper出现Invalid config, exiting abnormally

4.启动bin目录下的下图文件,下面这个文件闪退的话,编辑它,在文本的最后添加pause。5.2: 在编辑zoo.cfg的dataDir和dataLogDir时候使用的是一个斜线。1. 将conf目录下的zoo_sample.cfg重命名为zoo.cfg。将以上两个问题解决后我的zookeeper就成功启动了!5.1:将zookeeper文件放在了以中文名字命名的文件夹内。1.本人使用的是zookeeper-3.4.6··在windows下启动zookeeper的步骤。3.编辑zoo.cfg文件,保存。

2023-06-11 14:30:58 385

原创 洛谷P1271 选举学生会(Java实现)

学校正在选举学生会成员,有 n(n≤999) 名候选人,每名候选人编号分别从 1 到 nn,现在收集到了m(m

2022-11-24 10:29:50 609 3

原创 洛谷P1093 奖学金( java实现)

直接暴力解题了😊🤣😒,,,已经通过10AC,,,希望能对你们有帮助。

2022-11-22 21:19:10 373 1

原创 ------异常

--

2022-05-02 15:37:02 333

原创 ---构造器

目录什么是构造器?构造器与一般方法的区别?为什么要写多个构造器?什么是构造器?(1)构造器也称为构造方法,构造函数,作用是构造出来一个类的实例,确保对象得到初始化。(2)构造器的格式 修饰符 类名(){} (修饰符可有可无)(3)我们根据构造器内是否有参数分为,有参构造器与空构造器(4)我们需要值得注意的是,在一般情况下我们要保证空构造器的存在,但我们刚开始学习java时是没有写构造器的,这是为什么呢?这里需要说明的是当我们在new一个对象时,假如你没有写...

2022-04-28 23:01:34 211

原创 ——稀疏数组

目录前言什么是稀疏数组?我们为什么需要稀疏数组?稀疏数组的应用场景稀疏数组的代码实现追风赶月莫停留,平芜尽处是春山------【明】 田韵前言什么是稀疏数组?我们说所的稀疏数组可以看成原数组的压缩,用于无效数据量远大于有效数据量的时候。我们为什么需要稀疏数组?稀疏数组的应用场景稀疏数组的代码实现去做风,不被定义的风。...

2022-04-24 22:39:40 227

原创 区分面向对象与面向过程

面向对象:注重的是事情的参与者,将功能封装进对象,强调具备功能的对象,以类/对象为基本单位(考虑谁来做)面向过程:注重的是事情的具体步骤,注重的是步骤过程的具体操作,以函数为基本单位(考虑怎么做)众所周知java是一个面向对象的语言,哪面向对象与面向过程怎么区分呢?我们引入一个经典的问题:人将大象装进冰箱面向过程:(这是一个执行者的过程)(一步又一步一环扣一环) (我们要先考虑什么然后再考虑谁做什么)以C语言为例函数1:把冰箱打开(){ 具体如何将冰箱打开的步骤......}函数2

2022-04-20 22:53:51 1006 1

原创 Java------二维数组基本知识

在Java中有那么一句话,Java中实际上只有一维数组

2022-04-19 16:36:29 326

原创 Java------main方法与可变参数与Arrays

main中的形参对于实参,是怎么一回事?然后我们的可变参数是什么?具体用处是什么?有什么在声明过程中需要注意的(定义)?将一个工具类:Arrays toString 输出一个数组

2022-04-16 22:31:05 264

原创 Java------数组

数组的作用:数组的定义:数组的声明:数组的初始化:增强型for:优缺点我们通过debug更深入理解数组的初始化与赋值:让我们通过一个案例来体会数组:数组的正向遍历与逆向遍历:讲解栈,堆,方法区注意事项:...

2022-04-14 23:24:28 192

原创 Java-------方法

方法是什么?我们为什么需要方法?方法有声明格式吗?方法的重载是什么?怎么判断方法的重载?

2022-04-12 00:05:51 402

原创 for循环的经典例题

目录【1】 打印一个长方形【2】打印一个平行四边形【3】打印一个三角形【4】打印一个菱形【5】打印一个空心菱形【1】 打印一个长方形public class Cfx { public static void main(String[] args) { //准备用“*”打印一个长方形 for (int i=1;i<=4;i++){//控制行数 for (int j=1;j<=6;j++){ ..

2022-04-09 16:17:16 5339

原创 Java基础-----运算符

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、运算符1.算术运算符首先我们来讲**“+”**2.关系运算符3.位运算符4.逻辑运算符5.赋值运算符6.其他运算符总结前言机遇从不光顾没有准备的头脑 ,弱者坐待良机,强者制造时机。——居里夫人一、运算符计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:1.算术运算符算术运算符有:+,-,*,/,%,++,–。这里我们主要讲解*.

2022-04-07 23:23:27 553

原创 Java基础

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程,本章开始讲解基本数据类型,提示:以下是本篇文章正文内容,下面案例可供参考一、基本数据类型 1.数...

2022-04-04 20:00:24 83 2

原创 Java基础

前言<1>常量<2>变量常量概念:java运行过程中不发生改变的量常量可从表现形式上分类为:字面常量,符号常量。字面常量的意思就是看到这个常量你就知道它的意思;符号常量的意思就是是用符号进行表示, 看到常量之后,能够知道其表示什么意思,但是不能知道其值为多少 。例如:PI 、 E从数据类型可分为:**基本数据类型:**整数型 浮点型 字符型 布尔型引用数据类型 数组 类 接口 枚举 注解变量**概念**:在Java运行中会发生改变的量。【数据

2022-03-30 23:19:15 276

原创 Java基础

第一Java中System.out.println();与 System.out.print(); 的区别首先两者相比较就是println与print的区别,前者相较于后者多了一个ln在作用方面前者输出括号里面的且“换行”,后者只输出括号里面的代码;具体请看下面的代码:public class Printf { public static void main(String[] args) { System.out.println("name "); System....

2022-03-29 23:10:31 504

空空如也

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

TA关注的人

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