http://blog.csdn.net/shymi1991/article/details/48085955

网上关于Spring的介绍资料已经数不胜数,但大多篇幅冗长,初学者不易理解记忆。这里先作一个简短的提炼,不作详细解释,主要内容是带大家创建一个Spring项目,感受一下这东西到底是什么样的。

1.Spring Framework是用来干嘛的?

是为基于java的企业应用提供的开发模型,让开发人员只关心应用层面的业务逻辑,不用关心环境的部署。

2.Spring 设计原则

控制反转IoC:创建、管理对象的权利交给第三方(容器,也称作IoC容器)

依赖注入DI :通过配置文件或注解实现对象的创建、属性赋值,我们首先只关注配置文件,也就是xml文件。DI是实现控制反转的方式

面向切面AOP

好的,下面让我们开始吧!

1. 准备软件

Eclipse java EE IDE,下载网站http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr

JDK 1.6以上,这里我的是最新版1.8

Spring Framework下载地址 http://sourceforge.net/projects/springframework/, (官网是是通过maven的依赖下载,没学过maven的话还是从这里的sourceforge上下载吧)。我的是spring-framework-4.2.0.RELEASE-dist.zip。将zip包解压,libs里面的.jar文件就是我们要用到的。

commons-logging下载地址http://commons.apache.org/proper/commons-logging/download_logging.cgi  点击commons-logging-1.2-bin.zip 下载解压

2. 新建项目

2.1  File——new——java project

输入project name:firstSpring

在项目目录下一个文件夹lib

将spring-framework-4.2.0.RELEASE\libs下的这几个文件和commons-logging-1.2下的commons-logging-1.2.jar拷到我们新建的lib里面

加入build path,右键点击项目——properties——java build path,在libraries标签下点——add JARs...

加入build path,右键点击项目——properties——java build path,在libraries标签下点——add JARs...

添加firstSpring\lib里面的jar包

OK——apply——OK

2.2  在src目录下建:

一个包main.java.com.sommer.learn,放源代码

文件夹springXML,放xml文件

在包下new一个接口HelloWorld.java

  1. package main.java.com.sommer.learn;
  2. public interface HelloWorld {
  3. public String sayHi();
  4. }

再new一个该接口的实现HelloWorldImpl.java

  1. package main.java.com.sommer.learn;
  2. public class HelloWorldImpl implements HelloWorld{
  3. @Override
  4. public String sayHi() {
  5. return "Hello World from Implement";
  6. }
  7. }

2.3  在springXML文件夹下新建一个HelloWorld.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
  5. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  6. <bean id="helloWorld" class="main.java.com.sommer.learn.HelloWorldImpl"></bean>
  7. </beans>

提示:如果你的xml文件不在src路径下,则要右键——build path——use as source folder,否则在下面的class path路径下将找不到xml文件

2.4  好了,现在我们建一个普通的类来看一下刚才配置有什么效果

main.java.com.sommer.learn下new一个class, 名字为Main.java

  1. package main.java.com.sommer.learn;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. public class Main {
  5. public static void main(String[] args) {
  6. ApplicationContext apc = new ClassPathXmlApplicationContext("springXML/HelloWorld.xml");
  7. HelloWorld hello = apc.getBean("helloWorld",HelloWorld.class);
  8. System.out.println(hello.sayHi());
  9. }
  10. }

输出 Hello World from Implement.

证明你的第一个spring项目运行成功了!

项目结构

3. 总结

这里我们并没有手动创建HelloWorldImpl的实例(对象),是Spring通过ApplicationContext帮我们创建的放在IoC容器里。ApplicationContext是一个IoC容器接口,它所创建的对象都称作是bean,也就是xml文件里的<bean id=" " class=" "></bean>这行配置信息。getBean方法就是从IoC容器里取得这个对象(根据标识id 和类名class),然后我们就可以调用该类的方法。

咱们的Main类需要用到HelloWorldImpl类,也就是说Main类依赖于HelloWorldImpl类,但是Main自己不用创建HelloWorldImpl对象,而是交由IoC容器给我们主动创建,这就是通过配置文件实现了依赖注入。

关于AOP,请关注后续更新~

用Eclipse创建第一个Spring项目(最最入门级)的更多相关文章

  1. Spring学习(一)idea中创建第一个Spring项目

    1.前言 Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container). Sprin ...

  2. Eclipse创建第一个Spring Boot项目

    一.安装SpringBoot插件 安装过程需要联网下载插件,属于在线安装,请耐心等待安装完成,下载安装完成以后,需要重启Eclipse 二.创建Spring Boot项目 如下图所示new-other ...

  3. 使用eclipse创建第一个SpringBoot项目

    1.new->maven->maven project,   勾选 Create a simple project,  下一个页面中填入group id(项目组织唯一标识, 如org.ap ...

  4. Eclipse创建第一个springWebMVC项目

    1.第一步:配置中央调度器(DispatcherServlet) 2.第二步:配置处理器(Controller) 3.第三步:在applicationContext.xml文件中注册控制器 注:记得头 ...

  5. spring boot学习01【搭建环境、创建第一个spring boot项目】

    1.给eclipse安装spring boot插件 Eclipse中安装Spring工具套件(STS): Help -> Eclipse Marketplace... 在Search标签或者Po ...

  6. 3.创建第一个android项目

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 3.创建第一个android项目 1.打开Eclipse,选择File——>new——>others.. ...

  7. 创建第一个Maven项目

    -----------------------siwuxie095                                     创建第一个 Maven 项目         1.打开 Ec ...

  8. eclipse创建maven的ssm项目

    自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的<淘淘商城>一个ssm框架的电商项目.用过,但是还真的没有自己搭建过, ...

  9. Eclipse创建的Java Web项目,如何启用外置浏览器访问jsp或者html页面

    当我们用Eclipse创建了一个Java Web项目,想访问一个jsp或者html页面时,通常会在目标页面(以jsp为例)上点击鼠标右键,选择[Run As]——>[Run on Server] ...

随机推荐

  1. Map.Entry使用详解

    1.Map.Entry说明 Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是 ...

  2. vue项目element-ui框架中的弹窗中的表单验证清除问题

    问题回顾: 1.vue项目的在弹窗上的form表单验证,第一次点击新增时正常,第二次新增打开弹窗后由于表单内容为空,出现验证这种情况 2.为了解决上面的情况,在执行点击新增事件加上this.$refs ...

  3. 页面多个 swiper 互补冲突

    方法一:精简版 $(".swiper-container").each(function(){ $(this).swiper({ loop: true, initialSlide ...

  4. 对接京东jos遇到的坑 记录一下。方便查询

    坑很多,有一些忘记了.文档乱的很,有问题可以私信我一下我看能不能想起来. 坑一.添加商品接口. {"error_response": {"code":" ...

  5. mysql 导入 excel 数据

    客户准备了一些数据存放在   excel 中, 让我们导入到 mysql 中.先上来我自己把数据拷贝到了 txt 文件中, 自己解析 txt 文件,用 JDBC 循环插入到数据库中. 后来发现有更简单 ...

  6. 腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来"峰会在广州召开,广东省各级政府机构领导.海 ...

  7. shiro的授权

    1.授权的流程 2.三种授权方式 1.编程式:通过写if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(subject. ...

  8. 移动端rem适配屏幕

    九月已成历史,十月如期而至...可能是九月工作比较清闲,周记就没怎么写,十月决不能这么堕落,立贴为证,至少保证5篇博客!!!如果没学到什么新知识,就对以往的那些工作中常用到的知识点做个总结...话不多 ...

  9. grunt-contrib-cssmin使用指南

    原文:http://riny.net/2014/grunt-cssmin/ grunt-contrib-cssmin v0.7.0 使用cssmin压缩css文件 Getting Started 这个 ...

  10. Vue(五)--组件

    1.组件也需要进行注册才可以使用:分为局部注册和全局注册 <body> <div id="app" > <my-component></m ...