Spring 1 IoC 2 Bean管理


部分内容摘自:http://jinnianshilongnian.iteye.com/blog/1752171


Spring IoC容器目的就是管理Bean,这些Bean将根据配置文件中的Bean定义进行创建,<bean>标签主要用来进行Bean定义
Bean定义在容器内部由BeanDefinition对象表示.

Bean的命名
可以用id或name指定。

<bean   id=” bean”  class=” cn.javass.spring.chapter2.helloworld.HelloImpl”/> 
<bean   name=” bean”  class=” cn.javass.spring.chapter2.helloworld.HelloImpl”/> 

public void test3() {   
          BeanFactory beanFactory =  new ClassPathXmlApplicationContext("chapter2/namingbean3.xml");   
    //根据name获取bean   
      HelloApi bean = beanFactory.getBean("bean", HelloApi.class);   
      bean.sayHello();   
}

实例化Bean
使用构造器实例化Bean
<bean name="bean1" class="cn.javass.spring.chapter2.HelloImpl2"/>

<bean name="bean2" class="cn.javass.spring.chapter2.HelloImpl2">   
<!-- 指定构造器参数 -->   
     <constructor-arg index="0" value="Hello Spring!"/>   
</bean> 

<bean id="messageProvider" class = "com.apress.prospring3.ch4.ConfigurableMessageProvider"
     c:_0 = "This is c:message" />

使用静态工厂方式实例化Bean
<bean id="bean3" class="cn.javass.spring.chapter2.HelloApiStaticFactory"   factory-method="newInstance">   
     <constructor-arg index="0" value="Hello Spring!"/>   
</bean> 

使用实例工厂方法实例化Bean
<!-- the factory bean, which contains a method called createInstance() -->
<bean id="serviceLocator" class="examples.DefaultServiceLocator">
<!-- inject any dependencies required by this locator bean -->
</bean>
<!-- the bean to be created via the factory bean -->
<bean id="clientService"    factory-bean="serviceLocator"    factory-method="createClientServiceInstance"/>

public class DefaultServiceLocator {
private static ClientService clientService = new ClientServiceImpl();
private DefaultServiceLocator() {}
public ClientService createClientServiceInstance() {
      return clientService;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值