spring3.2.5学习(一)——spring环境配置以及IOC简介

经常听别人说学技术的时候挑些有用的学更靠谱一点,然后就将很多的原理啊、逻辑啊什么的全扔一边,我想这就是实用主义者的主张了,一切以实用为主。之前,自己也是这么做,后来发现这样很容易达到瓶颈,没有一个全面的知识体系,根本就不知道还有什么好玩的。所以在实用的基础上,自己又琢磨着如何扩展知识,补全整个知识体系结构。

学习spring,不可避免的就是查文档了。可以到SPRING官网下一个spring-framework-3.2.5.RELEASE包,打开目录/docs/spring-framework-reference/htmlsingle下的index.html页面,那么spring的整个框架目录就一目了然了,这个索引就像是spring的一本书,至于怎么找,这里就不多介绍了。

这篇文章其实是记录了spring的初级环境配置,也就囊括了IOC的概念。现在进入正题:

一、概念

首先介绍一下SPRING的IOC,通常也叫做DI。两者相差不多大。IOC英文全称为Inversion of Control(控制反转),DI英文全称为dependency injection(依赖注入)。这里就不去仔细区分两者之间的差别,意义不大。

二、架包

从下载下来的lib中就有spring所需要的架包,其目录列表如下图:

除了这些架包外,还要添加一个commons-loggin-1.0.4.jar。

三、配置环境

1.新建一个java项目(初级spring环境配置并不需要在web环境下),并引入所需的架包。

2.新建一个实体类TCyrusUser.java

package com.cyrus.platform.model;

import java.io.Serializable;

@SuppressWarnings("serial")
public class TCyrusUser implements Serializable  {
    private String id;
    private String name;
    private String age;
    private String address;

    public TCyrusUser() {
        this.id = "001";
        this.name = "Cyrus";
        this.age = "18";
        this.address = "拉萨";
    }

    public TCyrusUser(String id, String name, String age, String address) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}

3.新建一个接口服务TCyrusUserService.java

package com.cyrus.platform.service;

import com.cyrus.platform.dao.TCyrusUserDAO;
import com.cyrus.platform.model.TCyrusUser;

public class TCyrusUserService {
    private TCyrusUserDAO userDAO;

    public void save(TCyrusUser user){
        this.userDAO.save(user);
    }

    public TCyrusUserDAO getUserDAO() {
        return userDAO;
    }

    public void setUserDAO(TCyrusUserDAO userDAO) {
        this.userDAO = userDAO;
    }

}

4.考虑到实体可能和不同数据库打交道,所以这里就体现了面对抽象编程的思想,通过接口和实现区分开。

package com.cyrus.platform.dao;

import com.cyrus.platform.model.TCyrusUser;

public interface TCyrusUserDAO {
    public void save(TCyrusUser user);
}
package com.cyrus.platform.dao.impl;

import com.cyrus.platform.dao.TCyrusUserDAO;
import com.cyrus.platform.model.TCyrusUser;

public class TCyrusUserDAOImpl implements TCyrusUserDAO {

    @Override
    public void save(TCyrusUser user) {
        System.out.println("the user is saved!");
    }
}

5.配置spring所属的xml文件,为了养成良好的编程习惯,我就把这个文件名字命名为applicationContext.xml。其实这个xml的文件名称不重要,只要在读取xml文件配置的时候名称能对应上就可以了。spring的注入常用的还有构造方法,详细可以参考spring索引文档。spring的xml配置就体现了IOC的概念,在类中不需要去new而是通过配置文件来控制。其bean标签中的id可以用name代替。在该项目中xml的路径为src/resources/spring/applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="userDAO" class="com.cyrus.platform.dao.impl.TCyrusUserDAOImpl">
    </bean>
    <bean id="userService" class="com.cyrus.platform.service.TCyrusUserService">
        <property name="userDAO" ref="userDAO" />
    </bean>
</beans>

四、测试

经过上面几步,spring的初级环境就已经配置完毕了。最后要做得就是测试,是否配置成功。

1.使用junit对TCyrusUserService进行测试。

package com.cyrus.platform.service;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.cyrus.platform.model.TCyrusUser;

public class TCyrusUserServiceTest {

    @Test
    public void test() {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath*:resources/spring/**/application*.xml");
        TCyrusUserService service = context.getBean("userService",
                TCyrusUserService.class);
        TCyrusUser user = new TCyrusUser();
        service.save(user);
    }

}

2.配置成功,控制台会输出如下图结果。

时间: 2024-10-08 12:39:18

spring3.2.5学习(一)——spring环境配置以及IOC简介的相关文章

Spring学习随笔(2):Eclipse下Spring环境配置+入门项目

1 准备工作 (按需下载) Eclipse 下载:http://www.eclipse.org/downloads/eclipse-packages/ : Spring 下载:http://repo.spring.io/libs-release-local/org/springframework/spring/  版本自选: Spring aop另需的3个包:http://download.csdn.net/download/lk_lxn/6397895 2 Spring IDE help->E

20140613_JavaWeb学习之开发环境配置篇

本文所使用软件百度云盘网址:http://pan.baidu.com/s/1kTDRFwz 1安装JDK 操作系统:windows7-64bit 版本:jdk-7u51-windows-x64 安装路径(默认):C:\Program Files\Java\jdk1.7.0_51\ 安装到:C:\Program Files\Java\jre7\ 关闭, 安装完成. 2 配置环境变量 百度经验网址:http://jingyan.baidu.com/article/6dad5075d1dc40a123

Spring环境配置

研究spring3的时候发现一个非常好用的特性:环境配置(spring2是否有此特性未知) 官方演示样例代码例如以下: <!-- app-config.xml --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.s

JMeter学习-038-JMeter Linux 环境配置

1.1.下载 Download URL:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.0.tgz Plugins URL:https://github.com/undera/jmeter-plugins 执行命令如下所示: 1 $ wget http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.

lua学习笔记1 环境配置

1 开发平台 windows7 64位 2 下载链接 http://www.lua.org/download.html 3 安装完成-环境配置 4  运行 WIN+R 运行 cmd 运行lua,显示配置成功.

Spring学习笔记01_环境配置

1.1       Spring jar包下载 (1)进入官网http://repo.spring.io (2)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring. 然后,就可以看到发布的各个版本,选一个自己需要的版本,点击Download. (我这里下载的是当前最新版本spring-framework-4.1.6.RELEASE-dist) 1.2       Hello Wor

[原创]java WEB学习笔记101:Spring学习---Spring Bean配置:IOC容器中bean的声明周期,Bean 后置处理器

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

springboot学习章节-spring常用配置

1.Scope package com.zhen.highlights_spring4.ch2.scope; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; /** * @author zhen * @Date 2018/6/12 11:38 */ @Service @Scope("prototype") public class De

PHP:学习笔记(1)——环境配置

PhpStorm配置PHP环境(转自Han-kanon) 说明: 通过Setting 有 languages &frameworks 有php 选择右边的interpreter 添加路径,再在右边的PHPexecutable添加文件的路径就是XAMPP安装目录下的PHP目录,在苹果系统系,安装路径为XAMPP路径下的bin路径,之后,点击apply,apply就行了.bin路径,之后,点击apply,apply就行了. 点解编辑器的浏览器图标就可以运行了