今天用了一上午的时间完成了项目环境的搭建,其中包括oracle11g客户端的安装,Spring-Tool-Suite,和配置maven。下午的时间主要看来一下sprin容器和装配的知识,内容是接着昨天的spring看的。
Spring 容器:Spring容器负责生成、组装、销毁组件,并负责事件处理、国际化等功能。
1)BeanFactory
(1) 所有容器的父接口
(2) 获得组件引用的两个方法: getBean( BeanId ); getBean( BeanName );
(3) 实现主要通过配置文件XmlBeanFactory
(4) 核心容器,提供了组件的创建装备和销毁
(5) 可以把BeanFactory看成工厂对象,当客户端调用getBean方法时,BeanFactory才会立即实例化这个Bean,采用单例模式实例化的。
(6) 实现类XmlBeanFactory(),要通过个配置文件,通过ClassPathResource< Resource>来找到配置文件,路径WIN中用\,UNIX中用/就可以了。 第一步,会调用Bean的缺省构造器;第二步,装配,装配过程中,可以实例化;
2)applicationContext.xml 对组件,用“bean”元素进行描述。
1以set方式注入
’在Bean类中要提供Set方法 2’配置文件中配置上,一般名为applicationContext.xml配置文件
注入对象:
1’ 让Spring容器在当前配置文件中找到相应的Bean,并调用set方法,注入该Bean。
<property name=” “>
<ref local=”BeanId”>
</property>
name:属性的名称,setOb() local=”BeanId”:要被注入的id或name。
id属性的值不能包含特定字符,如“/”,若想让名字带“/”,用name属性来代替。
2 采用
<property name=” “>
<ref bean=” “>
</property>
ref local:只在当前文档中查找被注入的id。 ref bean:会查找所有的配置文件。
3 将一个Bean的定义嵌套在另一个Bean中(可读性差) 被嵌套的Bean不能采用getBean()返回 例子代码:
<?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.0.xsd">
<bean id="otherBean" class="ioc2.OtherBean">
<property name="string1">
<value>string1</value>
</property>
</bean>
<bean id="someBean" class="ioc2.SomeBean">
<property name="ob">
<ref local="otherBean"/>
</property>
</bean>
</beans>