乐趣区

关于spring:Spring框架的环境搭建和测试

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 我的项目



创立好后我的项目工程报错,那是因为短少 web.xml 文件。所以须要生成 web.xml 文件。

2 我的项目工程的目录构造

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>

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 创立测试类


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();}
}

后果展现


由以上代码能够看出,在程序执行时,对象的创立并不是通过 new 一个类实现的,而是由 Spring 容器治理实现的。这就是 Spring IoC 容器思维的工作机制。

退出移动版