Spring bean注入

1.構造方法注入java

1.bean類
public class User {
    private  String name;
    private Integer age;
    private Cat cat;
    public User(String  name,Integer age,Cat cat){
        this.name=name;
        this.age=age;
        this.cat=cat;
    }

    @Override
    public String toString() {
        return "User"+"name"+name+"age"+age+"cat"+cat.getName();
    }
}

2.測試方法
  public void demo1(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
        User user=(User)applicationContext.getBean("user");
        System.out.println(user);
    }

3.xml文件配置
   <!--構造方法 注入-->
    <bean id="user" class="com.imooc.ioc.demo4.User">
        <constructor-arg name="name" value="張三"></constructor-arg>
        <constructor-arg name="age" value="13"></constructor-arg>
        <constructor-arg name="cat" ref="cat"></constructor-arg>
    </bean>
<bean id="cat" class="com.imooc.ioc.demo4.Cat">
<property name="name" value="cat"></property>
</bean>

 

2.set方法注入數組

1.bean類

public class Person {
    private String name;
    private Integer age;
    private Cat cat;

    public void setCat(Cat cat) {
        this.cat = cat;
    }

    public Cat getCat() {
        return cat;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public Integer getAge() {
        return age;
    }

    @Override
    public String toString() {
        return "name"+name+"age"+age+"cat"+cat.getName();
    }
}

2.測試方法
 public void demo2(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
        Person person=(Person)applicationContext.getBean("person1");
        System.out.println(person);
    }
3.xml文件配置
    <!--set方法注入-->
    <bean id="person1" class="com.imooc.ioc.demo4.Person">
        <property name="age" value="12"></property>
        <property name="name"  value="李四"></property>
        <property name="cat" ref="cat"></property>
    </bean>

3.複雜類型的注入app

數組  List   set Map  Propertieside

package com.imooc.ioc.demo5;

import java.util.*;

/*
*
*
* 複雜類型注入*/
public class CollectionBean {
    private String[] args;  //數組類型
    private List<String> list;//list集合
    private Set<String> set ;//set集合
    private Map<String,Integer> map;
    private Properties properties;

    public List<String> getList() {
        return list;
    }

    public Map<String, Integer> getMap() {
        return map;
    }

    public Properties getProperties() {
        return properties;
    }

    public Set<String> getSet() {
        return set;
    }

    public String[] getArgs() {
        return args;
    }

    public void setList(List<String> list) {
        this.list = list;
    }

    public void setMap(Map<String, Integer> map) {
        this.map = map;
    }

    public void setProperties(Properties properties) {
        this.properties = properties;
    }

    public void setSet(Set<String> set) {
        this.set = set;
    }

    public void setArgs(String[] args) {
        this.args = args;
    }

    @Override
    public String toString() {
        return "arrs"+ Arrays.toString(args)+"list"+list+"map"+map+"properties"+properties+"set"+set;
    }
}


2.測試方法
public  void  demo1(){
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
CollectionBean collectionBean=(CollectionBean)applicationContext.getBean("collectionBean");
System.out.println(collectionBean);
}
3.配置文件
<bean id="collectionBean" class="com.imooc.ioc.demo5.CollectionBean" >    <!--數組的屬性注入-->    <property name="args">        <list>            <value>aaa</value>            <value>bbb</value>            <value>ccc</value>        </list>    </property>    <!--list的屬性注入-->    <property name="list">        <list>            <value>111</value>            <value>333</value>            <value>222</value>        </list>    </property>    <!--set集合的屬性注入-->   <property name="set">       <set>           <value>ddd</value>           <value>eee</value>           <value>fff</value>       </set>   </property>    <!--map的屬性注入-->    <property name="map">        <map>            <entry key="aaa" value="111"></entry>            <entry key="bbb" value="222"></entry>        </map>    </property>    <!--properties的屬性注入-->    <property name="properties">        <props>            <prop key="username">zhangsan</prop>        </props>    </property></bean>
相關文章
相關標籤/搜索