Spring学习二、IOC学习

注入类型

set方法注入
构造方法注入(了解)
接口注入(了解)

Bean的生存范围

这里面描写的非常详细

另外一个

这里 了解较少,需要今后补充!!!!

Bean生命周期

lazy-init:true就是容易启动的时候就初始化类。

init-mehtod:初始化的时候调用的方法

destroy-method:销毁的时候调用的方法

简单属性的注入

public class UserService {

    private UserDAO userDAO;  
    public void add(User user) {
        userDAO.save(user);
    }
    public UserDAO getUserDAO() {
        return userDAO;
    }
    public void setUserDAO(UserDAO userDAO) {
        this.userDAO = userDAO;
    }

    public UserService(UserDAO userDAO) {
        super();
        this.userDAO = userDAO;
    }
}

对应的XML
"userService" class="com.bjsxt.service.UserService">
    
     
        <ref bean="u"/>
     
  

集合属性注入

 <bean name="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl">
    <property name="sets">
        <set>
            <value>1value>
            <value>2value>
        set>
    property>
    <property name="lists">
        <list>
            <value>1value>
            <value>2value>
            <value>3value>
        list>
    property>
    <property name="maps">
        <map>
            <entry key="1" value="1">entry>
            <entry key="2" value="2">entry>
            <entry key="3" value="3">entry>
            <entry key="4" value="4">entry>
        map>
    property>
  bean>

自动装配

1、byName
会根据参数的名字去配置文件里面寻找

2、byType
会根据要注入的参数的类型去寻找,如果配置文件里面有超过一个匹配,那么就会报错

annotation

@AutoWired:默认按照类型
如果想用byName 结合@Qulifier

@Resource
默认按照名字,找不到就按照类型

你可能感兴趣的:(Spring学习)