1

Spring简介

1.什么是Spring

spring是分层的JavaSE及JavaEE应用于全栈的轻量级开源框架,以IoC(Inverse Of Control:控制反转/反转控制)和AOP(Aspact Oriented Programming:面向切面编程)为核心,提供了表现层SpringMVC和持久层Spring JDBC以及业务层事务管理等众多模块的企业级应用技术,还能整合开源世界中众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。

2.Spring的优势

  • Spring 无处不在
  • Spring 是易扩展的,方便集成各种优秀框架
  • Spring 方便解耦,易于开发(简化开发)
  • Spring 速度快
  • Spring 是安全的
  • Spring 社区很庞大,备受支持
  • Spring框架源码是经典学习范例

环境的搭建

1 创建Maven项目

创建Maven项目.jpg
创建Maven项目02.jpg
创建好后项目工程报错,那是因为缺少web.xml文件。所以需要生成web.xml文件。
生成web.xml文件.jpg

2 项目工程的目录结构

目录结构.jpg

3 添加pom.xml文件(引入junit、spring的jar包)

<dependencies>
    <!-- 添加junit的jar包 -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
    </dependency>
    <!-- 添加spring的jar包 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.1.3.RELEASE</version>
    </dependency>
</dependencies>

加入Maven依赖.jpg

4 在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">
    
    
</beans>

5 创建UserDao接口

在UserDao接口中添加一个方法

package com.yanan.dao;

/**
 *    测试接口
 * @author 慕客
 *
 */
public interface UserDao {

    public void add();
}

6 创建UserDaoImpl实现类

该实现类实现了UserDao接口

package com.yanan.dao.impl;

import com.yanan.dao.UserDao;

/**
 *  该实现类实现了UserDao接口
 * @author 慕客
 *
 */
public class UserDaoImpl implements UserDao{

    @Override
    public void add() {
        System.out.println("UserDaoImpl.add方法执行了......");
    }
}

7配置applicationContext.xml文件

将UserDao接口的实现类的实例交给Spring容器创建,在核心配置文件中添加如下内容:

<!-- 将UserDao接口的实现类的实例交给spring创建 -->
<bean id="userDao" class="com.yanan.dao.impl.UserDaoImpl"></bean>

8 创建测试类

创建测试类.jpg
创建测试类工程展示.jpg

9 编写测试类

package com.yanan.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.yanan.dao.UserDao;
import com.yanan.dao.impl.UserDaoImpl;

/**
 * 测试类 
 * @author 慕客
 *
 */
public class UserDaoTest {
    
    @Test
    public void test1() {
        // 定义Spring配置文件的路径
        String xmlPath = "applicationContext.xml";
        // 初始化 Spring 容器,加载配置文件
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
        // 通过 IoC 容器获取 userDao 实例。applicationContext.getBean(全限定类名.class)    
        UserDao userDaoImpl = (UserDao) applicationContext.getBean(UserDaoImpl.class);
        // 调用 UserDao 的 add() 方法
        userDaoImpl.add();
    }
}

结果展示

结果展示.jpg
由以上代码可以看出,在程序执行时,对象的创建并不是通过 new 一个类完成的,而是由 Spring 容器管理实现的。这就是 Spring IoC 容器思想的工作机制。


PiHriH_lh
4 声望5 粉丝

任时光匆匆流去