属性注入方式

来源:互联网 发布:godaddy 转入阿里云 编辑:程序博客网 时间:2024/06/08 21:33
  1. spring支持的注入方式:
    (1)set注入方式
    (2)有参注入方式

  2. 具体实现
    有参注入方式:

<bean id="bean" class="com.psn.spring.property.PropertyDemo">        <constructor-arg name="username" value="xiaowang"></constructor-arg></bean>

set注入方式(*):

1.字符串属性注入

<bean id ="bean" class="com.psn.spring.property.Book"> <property name="name" value="hehe"></property></bean><!-- 注入属性值     name属性值:类里面定义的属性名称    value属性:设置具体的值-->

2.对象类型注入
UserDao.java

public class UserDao {    public void add()    {        System.out.println("userdao...........");    }}

UserService.java

public class UserService {    UserDao userdao;    public void setUserdao(UserDao userdao) {        this.userdao = userdao;    }    public void add()    {        System.out.println("userservice...........");        userdao.add();    }}

applicationContext.xml

<bean id="userDao" class="com.psn.spring.property.UserDao"></bean><bean id="userservice" class="com.psn.spring.property.UserService">            <property name="userdao" ref="userDao"></property></bean><!-- 注入dao对象     name属性值:service类里面属性名称    现在不要写value属性,因为刚才是字符串,现在是对象    写ref属性:dao配置bean标签中id值    -->

3.复杂属性注入

    //复杂属性    private String[] arrs;    private List list;    private Map map;    private Properties properties;
<!-- 注入复杂属性 -->  <bean id="person" class="com.psn.spring.property.Person">    <property name="arrs" >        <!-- <list>            <value>xiaowang</value>            <value>xiaoma</value>            <value>wanger</value>        </list> -->        <array>            <value>xiaowang</value>            <value>xiaoma</value>            <value>wanger</value>        </array>    </property>     <property name="list">        <list>            <value>xiaowang</value>            <value>xiaoma</value>            <value>wanger</value>        </list>    </property>    <property name="map">        <map>            <entry key="aa" value="aa"></entry>            <entry key="bb" value="bb"></entry>            <entry key="cc" value="cc"></entry>        </map>    </property>    <property name="properties">        <props>            <prop key="driverclass">com.mysql.jdbc.Driver</prop>            <prop key="username">root</prop>        </props>    </property> </bean>
1 0
原创粉丝点击