当前位置:
首页 >
Spring中3种实例Bean的方法及设置Bean的别名
发布时间:2025/3/15
41
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Spring中3种实例Bean的方法及设置Bean的别名
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
目录
基本概念
代码及演示
对Bean的感悟
基本概念
学习使用Spring实例化Bean
1. 通过构造方法实例化Bean;
2. 通过静态方法实例化Bean;
3. 通过实例方法实例化Bean
Spring设置Bean的别名
代码及演示
程序运行截图如下:
程序结构如下:
Bean1.java
package bean4test.Ioc;public class Bean1 {public Bean1(){System.out.println("Bean1.Bean1");} }Bean2.java
package bean4test.Ioc;public class Bean2 {public Bean2(){System.out.println("Bean2.Bean2");} }Bean2Factory.java
package bean4test.Ioc;public class Bean2Factory {public static Bean2 getBean2(){return new Bean2();} }Bean3.java
package bean4test.Ioc;public class Bean3 {public Bean3(){System.out.println("Bean3.Bean3");} }Bean3Factory.java
package bean4test.Ioc;public class Bean3Factory {public Bean3 getBean3(){return new Bean3();} }spring.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean class="bean4test.Ioc.Bean1" id="bean1" name="bean1_1, bean1_2"/><alias name="bean1" alias="bean1_3" /><bean class="bean4test.Ioc.Bean2Factory" factory-method="getBean2" id="bean2"/><bean class="bean4test.Ioc.Bean3Factory" id="bean3Factory" /><bean class="bean4test.Ioc.Bean3" factory-bean="bean3Factory"factory-method="getBean3" id="bean3" /> </beans>DemoApplicaitonTests.java
package bean4test.demo;import bean4test.Ioc.*; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class) @SpringBootTest public class DemoApplicationTests {@Testpublic void contextLoads() {ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");Bean1 bean1 = context.getBean("bean1", Bean1.class);System.out.println("bean1 = " + bean1);//传统方法//Bean2 bean2 = Bean2Factory.getBean2();Bean2 bean2 = context.getBean("bean2", Bean2.class);System.out.println("bean2 = " + bean2);//传统方法//Bean3Factory bean3Factory = new Bean3Factory();//Bean3 bean3 = bean3Factory.getBean3();Bean3 bean3 = context.getBean("bean3", Bean3.class);System.out.println("bean3 = " + bean3);//别名Bean1 bean1_1 = context.getBean("bean1_1", Bean1.class);System.out.println("bean1_1 = " + bean1_1);Bean1 bean1_2 = context.getBean("bean1_2", Bean1.class);System.out.println("bean1_2 = " + bean1_2);Bean1 bean1_3 = context.getBean("bean1_3", Bean1.class);System.out.println("bean1_3 = " + bean1_3);} }
对Bean的感悟
个人觉得用传统的方法和使用Spring的Bean比较起来,Spring在逻辑上更加的清晰,因为利用了Java反射的机制,而C++程序员喜欢传统的方法,因为这个能看得到!
学了Spring的方法后,发现Java真的很6的语言!
总结
以上是生活随笔为你收集整理的Spring中3种实例Bean的方法及设置Bean的别名的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: C++笔记-使用std::funcion
- 下一篇: Spring Boot笔记-普通异常错误