• IoC 中 car 对象的配置如下,现在要添加 user 对象,并且将 car 注入到 user 中,正确的配置是?


    <bean id="car" class="com.southwind.entity.Car"></bean>

    Spring三种注入

    设值注入--注入方式1/3

    <bean id="user" class="com.cosmos.entity.User">

    <!-- 注入List集合(不重复,有序) -->

    <property name="list1" >

    <list>

    <value>123</value>

    <value>124</value>

    </list>

    </property>

    <!-- 注入Set集合(重复无序) -->

    </bean>

    通过property来实现给对象的属性赋值。

     

    构造注入--注入方式2/3

    创建带参构造方法

    编写带参构造方法后,Java虚拟机不再提供默认的无参构造方法,为了保证使用的灵活性,建议自行添加一个无参构造方法。

    怎么实现构造呢?

    <bean id="userServiceImpl" class="com.cosmos.service.impl.UserServiceImpl">

    <constructor-arg>

    <ref bean="userDao"/>

    </constructor-arg>

    </bean>

    构造注入和设值注入区别在于设值注入使用setter方法给属性设值,而构造注入则是将属性通过有参构造来初始化属性值。

     

    P命名空间注入--注入方式3/3

    p命名空间的特点:使用属性而不是子元素的形式配置Bean的属性,从而简化了配置代码。

    语法:

    对于直接量(基本数据类型、字符串)属性:p:属性名=“属性值”

    对于引用Bean的属性:p:属性-ref=Bean的id

    使用前要先在Spring配置文件中引入p命名空间

    Xmlns:p=”http://www.springframework.org/schema/p”

    使用p命名空间注入属性值

    <bean id="user" class="com.cosmos.entity.User" p:name="张三" p:age="21" p:email="raycosmos@qq.com">

     

    </bean>

    <bean id="userServiceImpl" class="com.cosmos.service.impl.UserServiceImpl" p:dao-ref="userDaoImpl">

    <property name="dao" ref="userDaoImpl"></property>

    </bean>

  • 相关阅读:
    使用pymysql模块进行封装,自动化不可或缺的数据库校验
    使用paramiko模块进行封装,远程操作linux主机
    提高开发效率的 Eclipse 实用操作
    遍历Map的四种方法
    key可以重复的Map集合:IdentityHashMap
    Java根据条件删除Map中元素
    用POI读取具有任意合并单元的excel数据
    【转载】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
    面向对象的基本原则
    forward和redirect的区别
  • 原文地址:https://www.cnblogs.com/cosmosray/p/13268783.html
Copyright © 2020-2023  润新知