Spring IOC反转控制器

本文深入解析Spring框架中的IOC控制器概念及其在WEB应用中的作用。详细介绍了Spring如何通过applicationContext.xml配置文件实现依赖注入,并探讨了其与Struts、Hibernate等框架的整合方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IOC控制器,又称反转控制器,意思是在使用过程中才知道用哪个类以及类里的属性。

Spring是在WEB应用程序中使用的一个框架,它依据的是applicationContext.xml配置文件,在程序中建立一个BeanFactory的工厂,在程序中使用到applicationContext中所定义的类的时候,通过BeanFactory进行获取,从而达到反转控制(依赖注入)的效果。

1【ss整合】
Sprint + Struts 结合的时候,spring主要用来进行Action的注入配置,
确定具体的Action使用的类,在这个时候Struts的配置中有关Action的地
方可以直接使用Spring中配置的bean的ID,[延续使用类名效果是相同的]
2【spring注入管理】
注入除了可以控制Action的具体实现类,还可以/还用于 给Action注入数
据库操作类 ,直接使用ado接口操作数据,ado实现类通过spring注入。
没有Hibernate的时候,dao里面的dbcp、connection都可以[一般都通过spring
]注入
3【spring 进行事务处理】
Spring自己提供了 Sql Template 可以直接进行数据库操作与实务处理。
4【ssh】
Spring+Hibernate的时候,Hibernate中的sessionfactory作为spring中的
一个普通的被注入的bean而存在。
    
 ------------------------------------applicationContext.xml配置-------------------------------------

基本配置项<bean></bean>

<bean>  

  <!--  

 1 autowire 属性   构造/注入方式
         no    --- 本类如何构造    ----- 使用无参构造方法
         autodetect   --- 自动检测   -------- 先使用 constructor  失败后,在使用 byType
        constructor   ----使用构造方法    -----  使用提供的属性值按顺序塞给constructor,
         byType       --- 使用类型匹配   -----     使用提供的属性值按顺序及类型
         byName       ---  使用属性名称匹配-----     使用提供的属性名称
 2 depengency-check  属性   依赖检查,检查注入的属性 
         simple   检查基本数据类型[int long char.....]与 String
        objects  对象,我们定义或者第三方定义的Bean
        all      检查所有
        none     不检查
      检查失败会抛出异常:.....DependencyException
  
3  id   在spring中唯一标示类、对象
4  name  在spring中类、对象的名字--别名的时候使用  ---byName
5  class  在spring中类、对象的实现class
6  singleton 单例,用来表明在程序中是否使用同一个实例:--JdbcTemplete 、Action、Hibernate
              的时候,一定要求使用同一个实例的。
     缺省配置为 singleton = "true"  如果非单例模式,需要改为 false
    init-method="Bean_Method"
    destroy-method="Bean_Method"
-->


<property >
<!--
1  name 属性
       该属性的名称,与bean中的property名称一致
2  value 属性
      如果bean的属性为基本数据类型或者String的话,使用value指定取值
3  ref   属性
      如果bean的属性为对象的话,对象需要被构造,构造的对象在spring中进行配置
     ref 的值为该配置项的id/name
 <property name="" value="" /> 
 
 <property name="">
  <value>______</value>
 </property>
 
 <property name="" ref="" /> 
 
 <property name="">   
  <ref local="___" />
 </property>
 
   属性中出现集合的时候, --  map  list  set
  
 <property name="list">   
  <list>
   <ref local="___" />
   <value>______</value>
    ......
  </list>
 </property>
  
 <property name="map">   
  <map>
   <entry name="key" >
   <ref local="___" />
   <entry>
   <entry name="key" >
   <value>______</value>
   <entry>
  </map>
 </property>
    
    <property name="set">   
  <set>
   <ref local="___" />
   <value>______</value>
  </set>
 </property>
  
   Properties  ---
   <property name="Properties">   
  <props>
   <prop key="key" >
    ___value____
   </prop>
   <prop key="key" >
    ___value____
   </prop>
   </props>
 </property>  
-->
</property>
</bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值