zoukankan      html  css  js  c++  java
  • 依赖注入

    一.通过属性的setter方法注入

    两种依赖注入的区别:

    在beans.xml文件中的配置,

    1.

    <property name="ooo"></property>--------------->用于为属性注入值

    <property ref="xxx"></property>------------------->根据xxx在spring容器中得到bean,根据反射技术将bean附给了ooo属性

    可以给很多bean注入值 

     2.

    使用内部bean实现依赖注入

    <bean>

    <property name="personDao">

      <bean class=""></bean>

    </property>

    </bean>

    只能给这个bean注入值 

    怎么给基本类型的属性注入值 ?

    <bean>

    <property name="name" value="xxx"/>--------------------->将xxx注入给name属性

    </bean>

    怎么给set集合类型注入值?

    <bean .......>

    <property name="sets">

    <set>

      <value>first</value>

      <value>second</value>

      <value>third</value>

    </set>

    </property>

    </bean>

    怎么给list集合类型注入值?

    <bean .......>

    <property name="lists">

    <list>

      <value>first</value>

      <value>second</value>

      <value>third</value>

    </set>

    </property>

    </bean>

    怎么给Properties集合类型注入值?

    <bean .......>

    <property name="properties">

    <props>

      <prop key="key1">value1</prop>

      <prop key="key2">value2</prop>

    </props>

    </property>

    </bean>

    怎么给HashMap集合类型注入值?

    <bean .......>

    <property name="maps">

    <map>

      <entry key="key1" value="value1"></entry>

      <entry key="key2"  value="value2"></entry>

    </map>

    </property>

    </bean>

    二.通过构造器来注入

    有两个属性:PersonDao 和name两个属性

    <bean ...>

    <constructor-arg index="0" type="com.cn.dao.PersonDao" ref="personDao"/>

    <constructor-arg index="1" value="spring is coming"/>

    </bean>

    三.使用Field注入(用于注解方式)

    加入两个命名空间:

    xmlns:context="http://www.springframework.org/schema/context"

    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd

     <context:annotation-config/>------------>将注解写到Spring容器

    导入jar文件

    lib\j2ee\common-annotations.jar

    在java代码中使用@Autowired或者@Resource注解方式进行装配;两者的区别:@Autowired 默认按类型装配 @Resource默认按照名称装配,找不到与名称匹配的bean才会按照类型装配。

  • 相关阅读:
    复制延迟排查
    [学习笔记]贪心
    主从复制延时判断以及脚本
    [学习笔记]尺取法
    RESET MASTER 和RESET SLAVE 命令的使用方法 注意事项
    女神(goddess)——组合数学
    主从同步设置的重要参数log_slave_updates
    埃及分数&&The Rotation Game&&骑士精神——IDA*
    多源复制开关复制命令和监控
    万圣节后的早晨&&九数码游戏——双向广搜
  • 原文地址:https://www.cnblogs.com/GodFather001/p/2288338.html
Copyright © 2011-2022 走看看