Spring - Bean管理之三种实例化Bean的方式(XML)

简介: Spring - Bean管理之三种实例化Bean的方式(XML)

image.png

packagecom.imooc.ioc.demo2;
/*** Bean的实例化的三种方式:采用无参数的构造方法的方式*/publicclassBean1 {
publicBean1(){
System.out.println("Bean1被实例化了...");
    }
}
packagecom.imooc.ioc.demo2;
/*** Bean的实例化三种方式:静态工厂实例化方式*/publicclassBean2 {
}
packagecom.imooc.ioc.demo2;
/*** Bean2的静态工厂*/publicclassBean2Factory {
publicstaticBean2createBean2(){
System.out.println("Bean2Factory的方法已经执行了...");
returnnewBean2();
    }
}
packagecom.imooc.ioc.demo2;
/*** Bean的实例化三种方式:实例工厂实例化*/publicclassBean3 {
}
packagecom.imooc.ioc.demo2;
/*** Bean3的实例工厂*/publicclassBean3Factory {
publicBean3createBean3(){
System.out.println("Bean3Factory执行了...");
returnnewBean3();
    }
}
<!--第一种:无参构造器的方式--><beanid="bean1"class="com.imooc.ioc.demo2.Bean1"/><!--第二种:静态工厂的方式--><beanid="bean2"class="com.imooc.ioc.demo2.Bean2Factory"factory-method="createBean2"/><!--第三种:实例工厂的方式--><beanid="bean3Factory"class="com.imooc.ioc.demo2.Bean3Factory"/><beanid="bean3"factory-bean="bean3Factory"factory-method="createBean3"/>
packagecom.imooc.ioc.demo2;
importorg.junit.Test;
importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.ClassPathXmlApplicationContext;
/*** Bean的实例化的三种方式*/publicclassSpringDemo2 {
@Testpublicvoiddemo1(){
// 创建工厂ApplicationContextapplicationContext=newClassPathXmlApplicationContext("applicationContext.xml");
// 通过工厂获得类的实例:Bean1bean1= (Bean1)applicationContext.getBean("bean1");
    }
@Testpublicvoiddemo2(){
// 创建工厂ApplicationContextapplicationContext=newClassPathXmlApplicationContext("applicationContext.xml");
// 通过工厂获得类的实例:Bean2bean2= (Bean2)applicationContext.getBean("bean2");
    }
@Testpublicvoiddemo3(){
// 创建工厂ApplicationContextapplicationContext=newClassPathXmlApplicationContext("applicationContext.xml");
// 通过工厂获得类的实例:Bean3bean3= (Bean3)applicationContext.getBean("bean3");
    }
}
目录
相关文章
|
1月前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
92 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
17天前
|
缓存 Java Spring
实战指南:四种调整 Spring Bean 初始化顺序的方案
本文探讨了如何调整 Spring Boot 中 Bean 的初始化顺序,以满足业务需求。文章通过四种方案进行了详细分析: 1. **方案一 (@Order)**:通过 `@Order` 注解设置 Bean 的初始化顺序,但发现 `@PostConstruct` 会影响顺序。 2. **方案二 (SmartInitializingSingleton)**:在所有单例 Bean 初始化后执行额外的初始化工作,但无法精确控制特定 Bean 的顺序。 3. **方案三 (@DependsOn)**:通过 `@DependsOn` 注解指定 Bean 之间的依赖关系,成功实现顺序控制,但耦合性较高。
实战指南:四种调整 Spring Bean 初始化顺序的方案
|
1月前
|
XML Java 数据格式
Spring从入门到入土(bean的一些子标签及注解的使用)
本文详细介绍了Spring框架中Bean的创建和使用,包括使用XML配置文件中的标签和注解来创建和管理Bean,以及如何通过构造器、Setter方法和属性注入来配置Bean。
71 9
Spring从入门到入土(bean的一些子标签及注解的使用)
|
1月前
|
Java 测试技术 Windows
咦!Spring容器里为什么没有我需要的Bean?
【10月更文挑战第11天】项目经理给小菜分配了一个紧急需求,小菜迅速搭建了一个SpringBoot项目并完成了开发。然而,启动测试时发现接口404,原因是控制器包不在默认扫描路径下。通过配置`@ComponentScan`的`basePackages`字段,解决了问题。总结:`@SpringBootApplication`默认只扫描当前包下的组件,需要扫描其他包时需配置`@ComponentScan`。
|
1月前
|
Java 开发者 Spring
Spring bean的生命周期详解!
本文详细解析Spring Bean的生命周期及其核心概念,并深入源码分析。Spring Bean是Spring框架的核心,由容器管理其生命周期。从实例化到销毁,共经历十个阶段,包括属性赋值、接口回调、初始化及销毁等。通过剖析`BeanFactory`、`ApplicationContext`等关键接口与类,帮助你深入了解Spring Bean的管理机制。希望本文能助你更好地掌握Spring Bean生命周期。
84 1
|
1月前
|
Java Spring
获取spring工厂中bean对象的两种方式
获取spring工厂中bean对象的两种方式
45 1
|
1月前
|
Java 开发者 Spring
Spring bean的生命周期详解!
本文详细介绍了Spring框架中的核心概念——Spring Bean的生命周期,包括实例化、属性赋值、接口回调、初始化、使用及销毁等10个阶段,并深入剖析了相关源码,如`BeanFactory`、`DefaultListableBeanFactory`和`BeanPostProcessor`等关键类与接口。通过理解这些核心组件,读者可以更好地掌握Spring Bean的管理和控制机制。
88 1
|
1月前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
82 0
|
2月前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
|
1月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
173 2
下一篇
无影云桌面