spring ioc我的理解

      最近看了一些spring的视频,以及书籍,我个人认为spring的IOC(依赖注入) ,就是通过spring容器将bean进行初始话,实际上就是通过无参构造函数的,进行初始化,同时大大减少了,java 的耦合性,使得开发更加容易。同时,spring能够成为非依赖性的轻量级框架也应如此。

<bean id="test" class="com.littleshrimp.spring.test"  init-method="setup" destroy-method="teardown"
            autowire
="autowire type">   
//init-method-->当BEAN被装入到容器中调用的初始化方法
//destroy-method-->当BEAN被移除容器中调用的方法
//atuowire -->自动装配属性:byName,byType,autodetect
//分别指代寻找相同的名字、类型或先按名字,不匹配时再按类型依照原有的bean进行匹配装备
//例如我想找一个bean,是test的初始化参数我就可以通过此属性自动装配
<constructor-arg>//通过构造函数
<value>aa</value>
//<ref bean="test1"> //参数为bean
</constructor-arg>
//constructor-arg可以有多个在有多个参数的情况下
<contstructor-arg index="1">
<value>aa</value>
</contestructor-arg>
<property name="arg0">
<value>通过set方法设置属性名为arg0的值</value>
</property>
<property name="arg1">
//将名为arg1的BEAN装配到test中
<ref bean="test1"/>
</property>
</bean>

     通过applicationContext.xml来实现装备,依赖配置文件进行装备。

     在类中直接通过取得applicationContext,示例:

public class test  {
       
public static void main(String[] args){
             
//在FactorySystemXmlApplicationContext(中放置项目下的完整的applicationContext.xml的路径)
             ApplicationContext context = new FactorySystemXmlApplicationContext("src/com/littleshrimp/spring/applicationContext.xml");
             Test test 
= context.getBean("test");
             test.getValue();
       }
}

      同时applicationContext.xml可以通过三种方式来调用:

  1. FactorySystemXmlApplicationContext(完整路径)
  2. ClassPathXmlApplicationContext(类与applicationContext文件的相对路径名)
  3. XmlWebApplicationContext(web系统中的相对路径)

posted on 2007-10-24 11:54  封起De日子  阅读(154)  评论(0编辑  收藏  举报

导航