spring 02 spring注入值

spring 4.0
spring是一个开源的框架 
spring是一个ioc(DI)Aop的框架
使用spring无需实现任何的接口,非侵入式的注入
spring tool suite
spring环境搭建
    必须要用到的四个包:
      spring——beans
      spring——context
      spring——core
      spring——expression6     commens-logging.jar日志包
   依赖注入:
            属性注入:
            <property name="name" value="jake"/>
          构造器注入:
           <constructor-arg value="jake" index="0"/>
           <constructor-arg value="10" index="1"/>
           <constructor-arg value="150.5f" index="2"/>         
                     如果不指定位置,那么必须按照顺序进行编写构造器标签
  细节:
  spring中bean指定的类必须包含一个无参构造,要通过其生成实例化对象
  IOC容器就是我们的applicationContext 接口对象
      该接口对象有一个子接口:ConfigurationApplicationContext
      该子接口又有两个子接口:ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext
  getBean()方法的参数有两种: 可以通过在配置文件中声明的id来获取,也可以有类名.class来获取
                         不过当配置文件中存在两个相同实例类型的bean时,后者会出错。
  构造器注入细节:
  当属性值中的内容包含特殊字符时需要使用cdata节来进行处理      
    <constructor-arg  >
    <value>
   <![CDATA[<jake@@##>]]>
    </value>   
    </constructor-arg>
 bean和bean直接可以进行相互的引用
 spring 专有的空值<null/> 
 为级联属性赋值,将之前的对象属性覆盖掉
 <property name="employee.name" value="tom"></property>
 在配置文件中如果有多个bean都有这个集合,可以把我们的集合bean拿出来共用。
  <!-- 配置共用的集合bean --> 
  <util:list id="employees">
  <ref bean="department"  />
  </util:list>
  P命名空间
  所谓的P命名空间不过就是一种写法,可以简化  对应类的属性会自动解析出来 eg: 
  <bean id="employee2" class="com.nan.bean.Employee" p:age="23" p:name="suoLong"/>
 
 自动装配:
   如何实现自动装配?
   需要设置bean标签中的autowire属性为byName或者byType   
   <bean id="employee2" class="com.nan.bean.Employee" p:age="23" p:name="suoLong" autowire="byName"/>
 通过bean的name属性值进行装配的话是通过bean的name与被装配bean的id属性名称进行比对,如果name相同就进行装配,如果name不同则不进行装配
 通过type属性进行装配的话需要注意的是如果有多个bean的类型都适合放置在这个属性位置上,会报错
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值