一、Spring介绍

Spring是一个轻量级的Java EE容器,它也是一种从实际需求出发,着眼于轻便,灵活,易于开发,易测试和易部署的轻量级开发框架。Spring它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。

Spring为企业应用的开发提供了一个轻量级的解决方案。该方案包括:基于依赖注入的核心控制,基于AOP的声明式的事务管理,与持久层技术的耦合,以及优秀的Web MVC框架等。它致力于为Java EE 应用各层的解决方案。

使用Spring具有如下优点:

1、低倾入式设计,代码的污染低。

2、独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once、Run Anywhere的承诺。

3、Spring的DI容器降低了业务对象替换的复杂性,提高了组件之间的解耦。

4、Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,提供了更好的复用。

5、Spring的ORM和DAO提供了与第三方持久层矿建的良好整合,并简化了底层的数据库访问。

6、Spring的高度开发性,并不强制应用完全依赖于Spring,开发者可以自由选择Spring框架的部分或全部。

概述图:

二、部署第一个Spring框架

1、将Spring项目开发需要的jar包全部倒入到web应用的WEB-INF/lib路径下。

2、编写主程序,该主程序用于初始化Spring容器,Spring容器是Spring应用的核心,该容器负责管理容器中的java组件。

  1. //创建Spring的ApplicationContext
  2. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
  3. //输出Spring容器
  4. System.out.println(ctx);
        //创建Spring的ApplicationContext
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
//输出Spring容器
System.out.println(ctx);

ApplicationContext实例就是Spring容器,它包含了很多功能,Spring框架中的绝大部分功能都是通过它实现的。一旦获得了Spring容器,就可以通过该容器访问Spring容器中Bean。

3、编写Java Bean类,该类让Spring容器管理。

  1. public class PersonService {
  2. private String name;
  3. public void setName(String name) {
  4. this.name = name;
  5. }
  6. //测试Person类的info方法
  7. public void info(){
  8. System.out.println("此人名为:"+name);
  9. }
  10. }
public class PersonService {
private String name; public void setName(String name) {
this.name = name;
} //测试Person类的info方法
public void info(){
System.out.println("此人名为:"+name);
}
}

4、将编写的Java Bean类部署在Spring文件中。

  1. <!-- 将PersonService类部署成Spring容器中的Bean  -->
  2. <bean id="personService" class="com.spring.service.PersonService">
  3. <property name="name" value="chenssy"/>
  4. </bean>
	<!-- 将PersonService类部署成Spring容器中的Bean  -->
<bean id="personService" class="com.spring.service.PersonService">
<property name="name" value="chenssy"/>
</bean>

5、测试

在主程序中的main方法增加如下代码,即可测试。

  1. PersonService p = ctx.getBean("personService",PersonService.class);
  2. p.info();
		PersonService p = ctx.getBean("personService",PersonService.class);
p.info();

运行测试程序得到如下结果:

 
------读李刚《轻量级Java EE企业应用实战》

(转) Spring读书笔记-----部署我的第一个Spring项目的更多相关文章

  1. Spring读书笔记-----部署我的第一个Spring项目

    一.Spring介绍 Spring是一个轻量级的Java EE容器,它也是一种从实际需求出发,着眼于轻便,灵活,易于开发,易测试和易部署的轻量级开发框架.Spring它完成了大量开发中的通用步骤,留给 ...

  2. (转) Spring读书笔记-----Spring的Bean之配置依赖

    前一篇博客介绍了Spring中的Bean的基本概念和作用域(Spring读书笔记-----Spring的Bean之Bean的基本概念),现在介绍Spring Bean的基本配置. 从开始我们知道Jav ...

  3. Spring读书笔记——bean解析

    前情回顾 上篇<Spring读书笔记--bean加载>我们从代码角度介绍了有哪些类负责解析XML文件,又是如何一步步从XML格式脱变成我们熟悉的bean的,直到DefaultBeanDef ...

  4. Spring读书笔记——bean创建(上)

    通过<Spring读书笔记--bean加载>和<Spring读书笔记--bean解析>,我们明白了两件事. Spring如何加载消化一个xml配置文件 Spring如何将xml ...

  5. Spring读书笔记——bean创建(下)

    有关Spring加载bean系列,今天这是最后一篇了,主要接上篇对于从Spring容器中获取Bean的一些细节实现的补充. <Spring读书笔记--bean加载>--Spring如何加载 ...

  6. Spring 读书笔记-----使用Spring容器(一)

    pring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spri ...

  7. (转)Spring 读书笔记-----使用Spring容器(一)

    Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spr ...

  8. 《ASP.NET Core In Action》读书笔记系列,这是一个手把手的从零开始的教学系列目录

    最近打算系统学习一下asp.net  core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...

  9. struts2学习笔记--动手搭建环境+第一个helloworld项目

    在Myeclipse中已经内置好了struts2的环境,但是为了更好的理解,这里自己从头搭建一下: 前期准备:下载struts2的完整包,下载地址:https://struts.apache.org/ ...

随机推荐

  1. bzoj3238

    都LCP了很显然是要用到后缀数组的 显然前面的那个东西是可以直接算出来的 关键在于LCP的和怎么快速的计算 不难想到穷举height[i],然后判断这个height[i]可能成为多少对后缀的LCP 考 ...

  2. m2e使用问题——发布web项目时lib目录下的jar包未发布

    解决过程如下: 在项目上点右键查看properties—>Deployment Assembly,看Deploy Path这项上是否缺少WEB-INF/lib这一项. 相关操作截图如下:

  3. BZOJ_1208_&_Codevs_1258_[HNOI2004]_宠物收养所_(平衡树/set)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1208 (据说codevs要更新?就不放codevs的地址了吧...) 有宠物和人,每个单位都有 ...

  4. SIFT算法:确定特征点方向

    SIFT算法:DoG尺度空间生产  SIFT算法:KeyPoint找寻.定位与优化 SIFT算法:确定特征点方向  SIFT算法:特征描述子 目录: 1.计算邻域梯度方向和幅值 2.计算梯度方向直方图 ...

  5. ecshop模板修改后还原的原因

    转:http://www.ecmoban.com/article-1693.html 有些刚接触 ecshop的朋友会遇到这样的问题:今天刚修改好的一个地方,等过一段时间后台操作了一会之后发现修改过的 ...

  6. [转]ESCAPE()、ENCODEURI()、ENCODEURICOMPONENT()区别详解

    escape().encodeURI().encodeURIComponent()区别详解 JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encode ...

  7. __str__

    __str__是被print函数调用的,一般都是return一个什么东西.这个东西应该是以字符串的形式表现的.如果不是要用str()函数转换.当你打印一个类的时候,那么print首先调用的就是类里面的 ...

  8. iphone上click事件不触发的问题解决。

    iphone上click事件不触发的问题解决. //在ID为jsProvince上有这么一个事件: $('body').on('click', '#jsProvince', function(e){ ...

  9. HTML5与CSS3权威指南.pdf3

    表单验证 <input name="text" type="text" required pattern="^\w.*$"> r ...

  10. phpDesigner 工具快捷键巧用

    Zend Studio工具默认的快捷方式, 如果你从事php工作, 自然能够体会到一些便利性, 比如CTRL+D, 可以直接复制当前一行, 这对于重复代码及调试都有很大帮助. Ctrl+U转换大小写之 ...