第一个Spring程序

通过《Spring IoC容器》的学习,读者对 Spring 的 IoC 容器已经有了一个初步的了解。下面通过具体的案例演示 IoC 容器的使用。

1. 创建项目

在 eclipse 中创建 Web 项目 SpringDemo1,将 Spring 框架所需的 JAR 包复制到项目的 lib 目录中,并将添加到类路径下,添加后的项目如图所示。

2. 创建 IUserDao 接口

在项目的 src 目录下创建一个名为 com.liuhao.dao 的包,然后在该包中创建一个名为 UserDao 的接口,并在接口中添加一个 add() 方法,如下所示。

1 package com.liuhao.dao;
2 
3 public interface IUserDao {
4     /**
5      * 添加用户
6      *@throws:
7      */
8     public void add();
9 }

3. 创建接口实现类 UserDaoImpl

在 com.liuhao.dao 包下创建 IUserDao 的实现类 UserDaoImpl,编辑后如下所示。

package com.liuhao.dao;

public class UserDaoImpl implements IUserDao {

    @Override
    public void add() {
        System.out.println("调用Dao层add方法成功!!!");
    }

}

上述代码中,UserDaoImpl 类实现了 IUserDao 接口中的 add() 方法,并且在方法调用时会执行输出语句。

4. 创建 Spring 配置文件

在 src 目录下创建 Spring 的核心配置文件 applicationContext.xml,编辑后如下所示。

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
5 
6     <!-- 由 Spring容器创建该类的实例对象 -->
7     <bean id="userDao" class="com.liuhao.dao.UserDaoImpl" />
8 </beans>

上述代码中,第 2~5 行代码是 Spring 的约束配置,第 7 行代码表示在 Spring 容器中创建一个 id 为 userDao的 bean 实例,其中 id 表示文件中的唯一标识符,class 属性表示指定需要实例化 Bean 的实全限定类名(包名+类名)。

需要注意的是,Spring 的配置文件名称是可以自定义的,通常情况下,都会将配置文件命名为 applicationContext.xml(或 bean.xml)。

5. 编写测试类

在 com.liuhao.dao 包下创建测试类 Test,并在该类中添加一个main() 的方法,编辑后如下所示。

 1 package com.liuhao.dao;
 2 
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5 
 6 public class Test {
 7 
 8     public static void main(String[] args) {
 9         // 创建 ioc 容器 ,加载配置文件
10         ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
11         // 通过容器获取 userDao 实例
12         IUserDao userDao = (IUserDao)context.getBean("userDao");
13         // 调用 userDao 的 add ()方法
14         userDao.add();
15     }
16 
17 }

上述代码中,首先定义了 Spring 配置文件的路径,然后创建 Spring 容器,接下来通过 Spring 容器获取了 userDao 实例,最后调用实例的 add() 方法。

6. 运行项目并查看结果

运行成功后,控制台的输出结果如图所示。


从图输出结果中可以看出,程序已经成功输出了“调用Dao层add方法成功!!!”语句。在程序执行时,对象的创建并不是通过 new 一个类完成的,而是由 Spring 容器管理实现的。这就是 Spring IoC 容器思想的工作机制。

posted @ 2021-05-29 15:35  刘浩(LingluSenior)  阅读(69)  评论(0)    收藏  举报