Spring基础学习总结

摘要

    学习Spring已经很久了,可是自己却觉得抓不住spring引线,不能清楚的将spring中涉及到的知识理出一个头绪来。
    如今再回顾,曾经学习到的spring视频。自己认为,spring的核心功能是AOP。然后,再通过AOP来与其他框架进行结合,比如ORM(hibernate),MVC(struts)等来达到解耦的目的。

这里写图片描述

    这张图片反应的是Spring的核心。其中AOP占据了很重要的位置。然而AOP的实现却又依赖于一个很重要的概念——容器。
    在Spring主要是通过容器来实现控制反转。通过容器来管理对象之间的关系。这也是AOP思想的一种体现。
    容器中不仅可以对对象进行管理,同时还可以进行属性的管理等等。

下面总结常见的spring中IOC的注入

:

1、普通调用对象注入
这是最普遍的一种注入方式

<!--配置文件-->
 <bean id="userDao" class="Dao.UserDaoImpl"/>
//通过userDao进行对象调用
    public class UserManagerImpl implements UserManager {
        private UserDao userDao;
        @Override
        public void addUser() {
            userDao.addUser();
        }
    }

2、构造函数的注入

 <bean id="userManager" class="manager.UserManagerImpl">
    <constructor-arg ref="userDao"/>
  </bean>
    public class UserManagerImpl implements UserManager {

        private UserDao userDao;
        //构造函数的形式调用D层
        public UserManagerImpl(UserDao userDao){
            this.userDao=userDao;
        }
        @Override
        public void addUser() {
            userDao.addUser();  
        }

    }

3、常用属性的注入

<!-- 常用属性的注入 -->
 <bean id="bean" class="entity.Bean">
    <property name="strValue" value="hellow_world"/>
    <property name="intValue" value="123"/>
    <property name="listValue">
        <list>
            <value>list1</value>
            <value>list2</value>
        </list>

    </property>
    <property name="setValue">
        <set>
            <value>set1</value>
            <value>set2</value>
        </set>
    </property>

    <property name="array">
        <list>
            <value>array1</value>
            <value>array1</value>
        </list>

    </property>

    <property name="mapValue">
        <map>
            <entry key="k1" value="v1"/>
            <entry key="k2" value="v2"/>
        </map>
    </property>
  </bean>
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Bean {
    private String strValue;
    private Integer intValue;
    private List listValue;
    private Set setValue;
    private String[] array;
    private Map mapValue;
    public String getStrValue() {
        return strValue;
    }
    public void setStrValue(String strValue) {
        this.strValue = strValue;
    }
    public Integer getIntValue() {
        return intValue;
    }
    public void setIntValue(Integer intValue) {
        this.intValue = intValue;
    }
    public List getListValue() {
        return listValue;
    }
    public void setListValue(List listValue) {
        this.listValue = listValue;
    }
    public Set getSetValue() {
        return setValue;
    }
    public void setSetValue(Set setValue) {
        this.setValue = setValue;
    }
    public String[] getArray() {
        return array;
    }
    public void setArray(String[] array) {
        this.array = array;
    }
    public Map getMapValue() {
        return mapValue;
    }
    public void setMapValue(Map mapValue) {
        this.mapValue = mapValue;
    }

}

小结:

    以上是关于Spring中最基本的内容了也是最核心的内容。也是我们平常最常用的模块了。
    了解这些,对了解后续spring中的事务和AOP的深入学习会有很大的帮助。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值