一. pom.xml项目jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
目录1. 什么是加载器2. 加载加载的过程3. Class文件读取来源4. 加载器的分类5. 那些操作会初始化加载器6. 加载器的双亲委派机制6.1 双亲委派机制机制的好处7. ClassLoader源码解读7.1 Launcher源码解读7.2 双亲委派机制源码分析7.3 如何自定义一个加载器7.4 自定义加载器7.5 根据加载器手写热部署插件7.6 什么是SPI机制7.7
转载 2024-10-16 09:58:59
57阅读
Spring:@Import简介:将资源导入到容器中,实际上是以bean 定义(BeanDeinition)的方式导入到BeanDeinitionMap中使用介绍@Import有三种用法直接填class数组方式 @Import({ 名.class , 名.class... }) public class TestDemo { }ImportSelector接口(Springboot 自动加载
# Spring Boot启动加载指定 Spring Boot是一个基于Spring框架的微服务框架,它简化了基于Spring的应用开发和部署。在Spring Boot中,我们可以通过一些特定的配置来实现在应用启动加载指定。本文将详细介绍如何实现这一功能,并提供代码示例。 ## 流程图 以下是实现Spring Boot启动加载指定的流程图: ```mermaid flowchar
原创 2024-07-19 12:27:27
179阅读
@Controller: 标识一个Spring MVC controller处理器, 用来创建处理http请求的对象@Controller public class TestController { @RequestMapping("/test") public String test () { String str = "Spring 注解大全";
写在前面 本文分析的是直接运行main函数的启动过程,关于通过jar包启动方式分析,jar启动最终也会执行到这里,只不过前面多了写通过自定义加载加载lib和class的逻辑。这里贴下多出来的这部分内容: 入口很简单,就是我们的main程序,可能如下:@SpringBootApplication public class HelloWorldMainApplication { publ
# 使用 Spring Boot 排除某些注解的完整指导 Spring Boot 是一个用于简化 Java 企业应用程序开发的框架,它通过约定优于配置的方式大大缩短了开发周期。由于其灵活性和可扩展性,Spring Boot 也为开发人员提供了许多高效的配置方法。然而,在某些情况下,我们并不希望执行某些自动配置或加载特定的注解,这时候就需要使用排除注解的功能。本文将详细介绍 Spring Bo
原创 9月前
231阅读
我们都知道component-scan在springmvc或者springboot中可以扫描包路径,但是我们如何使用里面的属性排除不需要扫描的?方式一:使用spring的xml配置方式实现,这个是基本功,知道这种方式,那么注解方式就容易理解了<!-- 定义项目扫描包的路径,并且排除ApplicationContextConfig和WebSpringMVCServletConfig--&gt
转载 2024-06-11 05:57:44
1355阅读
本文记录了阅读《深入理解Java虚拟机:JVM高级特性与最佳实践 —— 周志明》的《虚拟机加载机制》章节的笔记。 一、概述虚拟机把描述的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的加载机制。与编译时需要“连接”的语言不同,Java语言中,类型的加载、连接和初始化都是在运行期完成的,虽然会在加载时增加
一句话描述spring加载过程ClassPathXmlApplicationContext实现beanFactory接口,是一个具体的实例化工厂。服务器启动时,解析xml配置文件,将对应文件中每个bean的id作为key,属性封装到beandefinition(是个对象)作为value,封装到一个ConCurrentHashMap容器A中。  同时,还有一个ConCurrentHashM
转载 2024-01-25 17:42:42
108阅读
参考网站:当Web应用启动时,contextInitialized方法会执行载入根上下文(IOC容器):(1)spring的web项目启动的时候会,启动我们常用的监听。      <context-param> <param-name>contextConfigLocation</param-name> <param-val
转载 2024-03-23 21:41:34
48阅读
1. @SpringBootApplication使用@AliasFor注解定义了4个参数,分别是"exclude","excludeName","basePackages","basePackagesClasses"exclude指定不扫描的,比如 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}
转载 2023-08-08 13:30:23
67阅读
Spring常用注解启动启动(XxxApplication)上使用的注解。@SpringBootApplicationSpring Boot的项目一般都会有XxxApplication的入口,入口中会有main方法,这是一个标准的Java应用程序的入口方法。 这个入口都会有@SpringBootApplication注解,它让Spring Boot自动给程序进行必要的配置,该注解是Sp
转载 2023-12-26 14:34:22
58阅读
常用注解@Configuration用法 @Configuration这个注解可以加在上,让这个的功能等同于一个bean xml配置文件,如下:@Configuration public class ConfigBean { }上面代码类似于下面的xml:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w
一、Bean 的注入@Configuration @Import({User.class, ImportSelectorDemo.class, ImportBeanDefinitionRegistrarImpl.class}) // id 默认为 User 的全名 public class SpringConfig { /** * 容器添加组件的方式 * 1.c
转载 2024-06-24 10:10:46
116阅读
五 基于注解的AOP开发 5.1 快速入门 步骤分析 1. 创建java项目,导入AOP相关坐标 2. 创建目标接口和目标实现(定义切入点) 3. 创建通知(定义通知) 4. 将目标和通知对象创建权交给spring 5. 在通知中使用注解配置织入关系,升级为切面 6. 在配置文件中开启组件扫描和 AOP 的自动代理 7. 编写测试代码 5.1.1 创建
转载 2024-09-15 21:25:55
47阅读
1、Spring MVC的基本介绍spring mvc 是基于 spring 的一个框架,实际上就是 spring 的一个模块,是专门用来做 web 开发的。spring mvc 的底层实际上还是 servlet ,只是在 servlet 的基础上面加入了一些功能,让 web 开发更加方便,可以理解为是 servlet 的升级。Spring MVC 框架是围绕一个 DispatcherServle
转载 10月前
44阅读
一、Spring与WEB容器整合    web项目中,Spring启动是在web.xml配置监听器,如下所示:  1. <!-- 配置Spring上下文监听器 --> 2. <listener> 3. <listener-class>org.springframework.web.context.ContextLoaderLi
转载 2024-07-26 10:49:32
62阅读
扫描器源码扫描的源码从这里开始,我们之前讲postProcessor的时候涉及过这部分代码,但是没有展开讲 invokeBeanFactoryPostProcessors()–> PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors() 这里就是我们之前涉及到的地方 ConfigurationClassPostPr
# Spring Boot 加载指定 Spring Boot 是一个用于快速构建基于 Spring 框架的应用程序的框架。它通过提供默认配置和自动配置的方式,简化了 Spring 应用的开发过程。在 Spring Boot 中,根据项目的需求和配置,可以加载指定,以实现特定功能。本文将介绍如何在 Spring Boot 中加载指定,并提供相应的代码示例。 ## 什么是 Spring B
原创 2023-07-27 05:54:24
725阅读
  • 1
  • 2
  • 3
  • 4
  • 5