Spring学习笔记一

一,Spring IoC容器的实例化:
三,bean的别名
<bean name="dataSourceA" class="..." />
引用上面定义的bean
<alias name="dataSourceA" alias="dataSourceB" />
<alias name="dataSourceA" alias="dataSourceC" />

 

1. Resource resource = new FileSystemResource("beans.xml");
 BeanFactory factory = new XmlBeanFactory(resource);

2. ClassPatchResource resource = new ClassPathResource  ("beans.xml");
 BeanFactory factory = new XmlBeanFactory(resource);
3. ApplicationContext context = new ClassPathXmlApplication(new   String[]{"beans1.xml","beans2.xml"});
 BeanFactory factory = (BeanFactory) context;


二,从外面加载xml配置文件
<beans>
 <import resource="service.xml"/>
 <bean id=".." class="..." />
</beans>

四,创建bean的一般方法
 
 1.使用构造器实例化
 <bean id="myBean" class="..." />
 2.使用静态工厂方法创建bean
 <bean id = "" class=",,," factory-method="createInstance" />
 其中createInstance()必须是static方法
 3.使用实例工厂方法
 <bean id="myFactory" class="......" >
 </bean>
 ......
 <bean id="myBean" factory-bean="myFactory" factory-method="createInstance" />
 4.使用容器
 InputStream is = new FileInputStream(new File("beans.xml"));
 BeanFactory factory = new XmlBeanFactory(is);
 MyBean mb = (MyBean) factory.getBean("myBean"); 


五,注入
 1.setter注入
 2,构造器注入
 当构造函数的参数类型一致时,通过index指定值
 3.工厂静态方法
 <bean id="exampleBean" class="ExampleBean" factory-method="createInstance">
  <constructor-arg ref="beanA" />
  <.../>
  <constructor-arg type="int" value="1" />
 </bean>
 <bean id="beanA" class="......" />
 ......
 ExampleBean.java
 public class ExampleBean{
  private ExampleBean(...){}
  
  public static ExampleBean(BeanA beanA,...,int i){
   ExampleBean eb = new ExampleBean();
   ......
   return eb;
  }
 }
 ...................
 idref 指定在xml中已经定义过的bean,它可以是一个property的value...<idref bean="someBean" />
 local ...<idref local="someBean" />指定在同一个xml文件里定义的bean

六,延迟初始化bean
 <bean id="lazyBean" class="..." lazy-init="true" />
 <beans default-lazy-init="true">
  //some bean define
 </beans>
  
七、Autowiring modes
 no,byName,byType,constructor,autodetect
八、bean的作用域
 singleton、prototype、request、session、global session
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值