- 博客(29)
- 收藏
- 关注
原创 SpringBoot 启动项目后执行方法的几种方式
在项目开发中某些场景必须要用到启动项目后立即执行方式的功能,如我们需要去初始化数据到`redis`缓存、设置策略工厂,或者启动后读取相应的配置等,主要聊聊实现立即执行的几种方法。
2023-07-14 15:07:25
3962
1
原创 二进制、八进制、十进制、十六进制的概念及转换关系
概述:二进制、八进制、十进制、十六进制的概念及转换关系详解。常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。
2023-02-27 15:59:30
14061
原创 【Spring08】SpringIOC容器启动的过程及原理
SpringIOC容器启动的全过程及源码解析1)Spring容器在启动的时候,会先保存所有注册进来的bean的定义信息xml注册bean;注解注册bean;2)Spring容器会在合适的时机创建这些Bean用到这个bean的时候;利用getBean创建bean;创建好以后保存在容器中;统一创建剩下所有的bean的时候;每一个bean创建完成,都会使用各种后置处理器进行处理;来增强bean的功能;AutowiredAnnotationBeanPostProcessor:处理自动注入。
2023-09-06 10:24:17
535
原创 【Spring07】Spring事件的发布监听及原理
ApplicationContext 通过 ApplicationEvent 类和 ApplicationListener 接口进行事件处理。 如果将实现 ApplicationListener 接口的 bean 注入到上下文中,则每次使用 ApplicationContext 发布 ApplicationEvent 时,都会通知该 bean。Spring的事件(ApplicationEvent)其实就是一个观察者设计模式,一个 Bean 处理完成任务后希望通知其它 Bean 或者说 一个Bean 想观
2023-09-04 22:54:53
461
原创 【Spring06】Spring的一些扩展使用
BeanFactoryPostProcessor是beanFactory后置处理器接口。接口定义方法postProcessBeanFactory();作用:在标准初始化之后修改应用程序上下文的内部bean工厂。BeanDefinitionRegistryPostProcessor:bean定义信息后置处理器。作用:在所有 bean定义信息将要被加载 ,bean的实例还未创建的时候,进行bean定义信息的前置处理。优先于 BeanFactoryPostProcessor 执行的。
2023-09-04 22:52:45
173
原创 【Spring04】Aop动态代理的使用和原理
AOP动态代理的使用及其@EnableAspectJAutoProxy 开启AOP切面自动代理功能及其实现原理
2023-08-30 11:00:51
1304
原创 【Spring02】Bean的生命周期及扩展
Bean的生命周期的展示和对于bean的初始化和销毁前后进行自定义操作或者启动后纪录相应日志信息等,InitializingBean,DisposableBean,BeanPostProcessor,ApplicationContextAware、@PostConstruct的使用
2023-08-24 11:24:51
294
1
原创 【Spring01】Bean的创建方式
在Spring中,构成应用程序并由Spring IOC容器进行管理的对象称为bean。bean是一个由IOC容器实例化、组装和管理的对象。注解+包扫描:@Component/@Controller/@Service/@Repository@Bean方式注入:@Bean注解配合@Configuration进行注入@Import注入Bean:@Configuration + @Import ImportSelector ImportBeanDefinitionRegistrar工厂bean Facto
2023-08-23 22:26:40
182
原创 【Java基础10】IO流
IO,即`in`和`out`,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。- 按数据流的方向:输入流、输出流- 按处理数据单位:字节流、字符流- 按功能:节点流、处理流1. 先进先出:最先写入输出流的数据最先被输入流读取到。2. 顺序存取:可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读取一串字节,不能随机访问中间的数据。(`RandomAccessFile`除外)3. 只读或只写:每个流只能是输入流或输出流的一种,不能同时具备两个功
2023-08-23 20:47:23
129
原创 【Java基础09】代理
根据加载被代理类的时机不同,将代理分为静态代理和动态代理。如果我们在代码编译时就确定了被代理的类是哪一个,那么就可以直接使用静态代理;如果不能确定,那么可以使用类的动态加载机制,在代码运行期间加载被代理的类这就是动态代理,比如RPC框架和Spring AOP机制。关于动态代理模式里面有两种实现,一种是jdk实现,一种是cglib来实现InvocationHandler **拦截器的作用**:控制目标对象的目标方法的执行。
2023-08-23 20:36:16
152
原创 浅拷贝和深拷贝
Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用现有对象的部分或全部 数据。深拷贝对引用数据类型的成员变量的对象图中所有的对象都开辟了内存空间;而浅拷贝只是传递地址指向,新的对象并没有对引用数据类型创建内存空间。
2023-07-21 11:30:06
374
1
原创 SpringBoot自动配置原理
springboot底层实现1、SpringBoot先加载所有的自动配置类 xxxxxAutoConfiguration2、每个自动配置类按照条件进行生效,部分配置类会绑定配置文件xxxxProperties中指定的值。xxxxProperties和配置文件application.yml进行绑定。3、生效的配置类会给容器中装配很多组件4、只要容器中有这些组件,相当于这些功能就有了5、定制化配置 用户直接自己@Bean替换底层的组件 用户去看这个组件是获取的配置文件什么值就去修改on。
2023-07-17 22:17:48
226
1
原创 SpringBoot自定义start
随着`Java`的不断发展,Spring的出现为开发人员解决了`bean`管理的烦恼,但是其配置随着`Java`的使用者不断增加,其配置变得及其复杂。使用`Spring`配置一个web应用程序,需要配置许多配置。于是`SpringBoot`为简化这一过程定制了`SpringBoot-Strater`机制,减少开发人员对配置文件编写复杂的工作,只需引入对应start,配置文件配置对应参数即可
2023-07-14 16:27:37
1307
1
原创 【Java基础08】反射
总结描述Java基础中反射的概述和使用,包括注解的概念、Class类对象的概念、类加载器ClassLoader的概念及涉及的双亲委派模型的原理,获取类对象的三种方式,反射操作获取类的构造方法、成员变量、成员方法、泛型及注解信息。
2023-03-09 15:27:38
211
原创 【Java基础05】枚举类
总结描述Java基础中枚举类的定义和使用,包括枚举类的定义、枚举类的常用方法、枚举类的参数和方法、枚举实现单例模式。
2023-02-28 20:38:04
2047
原创 【Java基础03】时间类
Java7和Java8各种时间类函数操作,Date、Time、Calendar、LocalDate、LocalDateTime、Clock、Zone、Format
2023-02-27 16:20:23
1592
原创 【Java基础02】常用类
总结描述Java基础中的常用类的定义及使用,包括如下常用类:Object类、String类、Scanner类、Math类、Random类、Date类、System类、BigDecimal类。
2023-02-25 11:35:50
242
原创 java多线程
多线程的实现方式:1、将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法start开辟新的栈空间,执行线程方法run,cpu有了选择权利,在多线程之间切换执行,多线程好处:多个线程之间互不影响(拥有不同的栈空间)多线程获取多线程的名称:在run方法中1、使用Thread类中的方法getName(),返回该线程的名称2、先获取到当前正在执行的线程c...
2020-11-09 17:16:57
75
原创 Mybatis-01(基础)
Mybatis是基于Java的持久层框架(支持普通SQL查询,存储过程和高级映射的优秀持久层框架)作用:简化jdbc操作,不用专注于怎么写这个操作,而是专注于业务和SQLMyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java 的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。ORM:对象关系映射简单概括:更加简化jd...
2020-08-15 22:28:24
74
原创 Spring-02(动态代理,AOP,事物)
转账案例,使用事务控制,业务层方法变得臃肿了,里面充斥着很多重复代码。并且业务层方法和事务控制方法耦合了。 试想一下,如果我们此时提交,回滚,释放资源中任何一个方法名变更,都需要修改业务层的代码,况且这还只是一个业务层实现类,而实际的项目中这种业务层实现类可能有十几个甚至几十个。代码重复使用动态代理解决问题:动态代理:特点:字节码随用随创建,随用随加载* 作用:不修改源码的基...
2020-08-13 10:37:14
97
原创 Spring-01( IOC(控制反转/ 依赖注入))
spring的概述spring是什么Spring是一个开源Java项目,基于分层的JavaEE应用一站式轻量级开源框架spring的两大核心以 IoC(控制反转/ 依赖注入)和 AOP(面向切面编程)spring的优点方便解耦,简化开发AOP编程的支持声明式事务的支持方便集成各种优秀框架降低 JavaEE API的使用难度spring体系结构体系结构程序的耦合及...
2020-08-13 09:58:10
77
原创 Java基础-01
java内存分为5个部分:1、栈(Stack):存放的都是方法中的局部变量,方法的运行一定要在栈中2、堆(Heap):凡是new出来的东西都在堆当中。堆内存里的数据都有默认值和地址值3、方法区:存储.class相关信息,包含方法的信息静态数据(类名访问静态成员变量,其值和new的对象无关,只与类有关)4、本地方法栈:与操作系统有关5、寄存器:与CPU有关匿名对象只能使用一次:确定一...
2020-07-17 10:16:19
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅