Spring容器创建对象的三种方式
来源:互联网 发布:淘宝怎么卖东西 编辑:程序博客网 时间:2024/06/05 19:13
/** * spring容器做的事情: * 解析spring的配置文件,利用Java的反射机制创建对象 * */public class testHelloWorld { @Test public void testHelloWorld(){ //启动sping容器 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); //从spring容器中把对象提取出来 HelloWorld helloWorld=(HelloWorld)context.getBean("helloWorld"); helloWorld.sayHello(); HelloWorld alias=(HelloWorld)context.getBean("三毛"); alias.sayHello(); } /** * 静态工厂 * 在spring 内部,调用了HelloWorldFactory 内部的 getInstance 内部方法 * 而该方法的内容,就是创建对象的过程,是由程序员来完成的 * 这就是静态工厂 * */ @Test public void testHelloWorldFactory(){ ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); HelloWorld helloWorld=(HelloWorld)context.getBean("helloWorldFactory"); helloWorld.sayHello(); } /** * 实例工厂 * 1.spring容器(beans)创建了一个实例工厂的bean * 2.该bean 调用了工厂方法的getInstance 方法产生对象 * */ @Test public void testHelloWorldFactory2(){ ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); HelloWorld helloWorld=(HelloWorld)context.getBean("helloWorld3"); helloWorld.sayHello(); }
public class HelloWorld { public HelloWorld(){ System.out.println("spring 在默认的情况下,使用默认的构造函数"); } public void sayHello(){ System.out.println("hello"); }}
- 1
public class HelloWorldFactory { public static HelloWorld getInstance(){ return new HelloWorld(); }}
- 1
- 2
- 3
- 4
public class HelloWorldFactory2 { public HelloWorld getInstance(){ return new HelloWorld(); }}
- 1
- 2
- 3
<?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/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- beans 存放了很多个类 把一个类放入到spring容器中,该类就是bean --> <!-- 一个bean就是描述一个类 id就是标示符 命名规范:类的第一个字母变成小写,其他的字母保持不变 class为类的全名 --> <bean id="helloWorld" class="com.sanmao.spring.ioc.HelloWorld"></bean> <!--alias 别名--> <alias name="helloWorld" alias="三毛"></alias> <!--静态工厂--> <bean id="helloWorldFactory" class="com.sanmao.spring.ioc.HelloWorldFactory" factory-method="getInstance" ></bean> <!--实例工厂--> <bean id="helloWorldFactory2" class="com.sanmao.spring.ioc.HelloWorldFactory2"> </bean> <!--factory-bean 指向实例工厂的bean--> <!--factory-bean 实例工厂对象的方法--> <bean id="helloWorld3" factory-bean="helloWorldFactory2" factory-method="getInstance"></bean></beans>
阅读全文
0 0
- Spring容器创建对象的三种方式
- spring IOC容器创建对象的三种方式
- Spring容器创建对象的三种方式
- spring容器创建bean对象的方式
- Spring容器三种实例化对象的方式
- Spring IOC创建对象的三种方式
- spring创建对象的三种方式及时间
- Spring 容器创建的3种方式
- spring容器启动的三种方式
- spring容器创建对象的3种方式(bean的实例化)
- spring容器创建对象的3种方式(bean的实例化)
- spring 创建bean的三种方式.
- spring创建bean的三种方式
- spring的三种bean创建方式
- Spring bean的三种创建方式
- spring创建bean的三种方式
- Spring创建Bean的三种方式
- Spring创建Bean的三种方式
- 写在大二开学之际~
- [Caffe]: 关于dropout的实现细节
- 主成分分析理论与MATLAB实现示例
- 【数据库】连接池的作用
- Openlayers2切换supermap WMS服务底图,已解决
- Spring容器创建对象的三种方式
- 在pyspark中调用scala代码
- Java创建线程的两个方法
- 软件测试之测试术语
- HTTP与HTTPS的区别
- poj 3311 Hie with the Pie(状态压缩dp)
- Git使用的详细教程
- Windows下virtualenv和virtualenvwrapper的使用
- 乐乐音乐5.0-全面支持翻译和音译歌词