1.引用jar包
到spring的网站上下载spring的jar包(本文是2.5.6),解压缩后找到
使用spring必须引用的jar包
spring.jar  commons-logging.jar
加入到工程中,项目结构如图:
2.项目搭建好了,来开发接口,此处我只需实现打印“Hello World!”,所以我定义一个“sayHello”接口,代码如下:

1 package com.yangyang;
2
3 public interface PersonService {
4     public void sayHello();
5
6 }

View Code

4.接口开发好了,通过实现接口来完成打印“Hello World!”功能;

 1 package com.yangyang.impl;
 2
 3 import com.yangyang.PersonService;
 4
 5 public class PersonServiceImpl implements PersonService{
 6
 7     @Override
 8     public void sayHello() {
 9         // TODO Auto-generated method stub
10         System.out.println("hello world");
11     }
12
13 }

View Code

5、接口和实现都开发好了,那如何使用Spring IoC容器来管理它们呢?这就需要配置文件,让IoC容器知道要管理哪些对象。让我们来看下配置文件resources/beans.xml(放到resources目录下):

1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
3 3     "http://www.springframework.org/dtd/spring-beans.dtd">
4 4
5 5 <beans>
6 6   <!-- id 表示你这个组件的名字,class表示组件类 -->
7 7     <bean id="personService" class="com.yangyang.impl.PersonServiceImpl"></bean>
8 8
9 9 </beans>

View Code

6.现在万一具备,那如何获取IoC容器并完成我们需要的功能呢?首先应该实例化一个IoC容器,然后从容器中获取需要的对象,然后调用接口完成我们需要的功能,代码示例如下:

 1 package junit.test;
 2 import org.junit.BeforeClass;
 3 import org.junit.Test;
 4 import org.springframework.context.ApplicationContext;
 5 import org.springframework.context.support.ClassPathXmlApplicationContext;
 6
 7 import com.yangyang.PersonService;
 8
 9 public class SpringTest {
10
11     @BeforeClass
12     public static void setUpBeforeClass() throws Exception {
13     }
14
15     @Test
16     public void instanceSpring() {
17         //读取配置文件实例化一个IoC容器
18         ApplicationContext ctx=new ClassPathXmlApplicationContext("resources/beans.xml");
19         //从容器中获取Bean,注意此处完全“面向接口编程,而不是面向实现”
20         PersonService personService=(PersonService) ctx.getBean("personService",PersonService.class);
21         personService.sayHello();
22     }
23
24 }

View Code

7.运行此单元测试,当控制台出现以下的信息表示spring成功配置,如图:

转载于:https://www.cnblogs.com/shunyang/p/3234886.html

一步一步深入spring(1)--搭建和测试spring的开发环境相关推荐

  1. docker mysql开发环境_跟我一步一步用Docker搭建Beimi游戏服务端开发环境

    跟我一步一步用Docker搭建Beimi游戏服务端开发环境 Stone 摘要 本文为java 0基础的小伙伴介绍如何用Docker搭建开发环境.如果不关心过程直接可 跳到本文最后取代码. 关键步骤为: ...

  2. 一步一步搭建免费的Silverlight 2开发环境

    最近在朋友聚会上谈论Silverlight2 RTW的优势和问题时,好多朋友都提到开发工具的成本问题,也就是开发Silverlight 2应用一定要购买VIsual Studio 2008,其实不然, ...

  3. spring boot 搭建的一个企业级快速开发脚手架

    源码地址 https://github.com/javanan/slife slife spring boot 搭建的一个企业级快速开发脚手架. 技术栈 Spring Boot MySQL Freem ...

  4. Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建

    Spring+Maven+Dubbo+MyBatis+Linner+Handlebars                                         --Web开发环境搭建 本文主 ...

  5. 使用Grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! AD: jQuery在使用grunt,bootstrap在使用grunt, ...

  6. 搭建最新版本的Android开发环境

    只为成功找方法,不为失败找借口! Android开发学习总结(一)--搭建最新版本的Android开发环境 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Andr ...

  7. Doom Emacs入门:通过Doom Emacs框架搭建一个基本的Python开发环境及其基本操作

    Doom Emacs入门:通过Doom Emacs框架搭建一个基本的Python开发环境及其基本操作 一.写在前面 1.1 明确目标:搭建一个完整的Python开发环境 1.2 前置工作 二.Doom ...

  8. 搭建一站式OpenHarmony设备开发Windows开发环境

    搭建一站式OpenHarmony设备开发Windows开发环境. 作者:坚果 团队:坚果派 公众号:"大前端之旅" 润开鸿技术专家,华为HDE,InfoQ签约作者,OpenHarm ...

  9. 从零开始搭建webpack的vue生产/开发环境

    一.初始化项目 在命令行中敲入如下命令: mkdir Webpack-Vue && cd Webpack-Vue && npm init -y 然后你就可以在你的当前路 ...

最新文章

  1. Oracle 12c DG备库Alert报错ORA-01110
  2. [CSS3]环形进度条
  3. Spring事务传播行为详解
  4. SCI论文写作--IEEE的期刊和杂志区分
  5. C/C++:程序的内存分配方式
  6. 在 Azure VM 上使用 Jitsi 搭建私人视频会议
  7. 【华为云技术分享】【测试微课堂】 有的放矢制定测试计划
  8. servlet提交表单(思考了好多天)
  9. php与bootstrap
  10. 企业局域网——论文开题报告
  11. [转载] 中华典故故事(孙刚)——19 万岁
  12. android教务系统框架,基于android的面向学生的移动教务管理系统设计与实现
  13. 计算机自顶向下WireShark实验2:DNS
  14. html js创建表格,javascript创建表格方式详解
  15. 类似元气骑士的九宫格随机地图实现
  16. 【一周头条盘点】中国软件网(2017.12.18~2017.12.22)
  17. 液晶显示器偏光膜的基本原理
  18. php tps,tps是啥
  19. 最经典的黑客技术入门知识大全
  20. 微信公众号运营商,如何选择适合自己的微信第三方平台?

热门文章

  1. 《球球大作战》游戏优化之路(下)
  2. 九九乘法表(js_javascript)
  3. 计算某一段程序消耗的内存和时间【Java】
  4. Oracle 11g新特性:索引不可见
  5. /etc/group 很好很强大
  6. sharePoint查看与更改用户登录账号
  7. Centos下MySql用户管理
  8. Swift3.0温习之基础篇
  9. Lua的继承(利用setmetatable)
  10. InnoDB与MyISAM的六大区别(转)