一、简介
  1、Spring是一个开源的控制反转(Inversion
of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发.
 2、为何要使用Spring?
  
i:降低组件之间的耦合度,实现软件各层之间的解耦。
  
ii:可以使用容器提供的众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务.也不需处理复杂的事务传播。

i3:容器提供单例模式支持,开发人员不再需要自己编写实现代码。

i4:容器提供了AOP技术,利用它很容易实现如权限拦截、运行期监控等功能。

i5:容器提供的众多辅作类,使用这些类能够加快应用的开发,如: JdbcTemplate、
HibernateTemplate。

i6:Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,这样更便于应用的开发。

3、对于Spring的下载我们可以到官网:http://www.springsource.org/download(提示是注册下载,其实可以不用注册的,下面有选项)下载spring,然后进行解压缩。

目录结构:
   Docs:该目录下面是开发帮助文档
  
Libs:该目录下面是spring框架的组件包,从3.X后被包被详细的区分
  
Schema:该目录下面是应用于未联网状态下需要引入的XML配置文件提示概要文件。
二、Spring部分jar包详解(红题字一般是必导jar包)
  Spring 3.1与之前的 2.X
的不一样,新版本把原来的包分解了,功能分工明确:
org.springframework.aop-3.1.1.RELEASE.jar
---- ----spring 的面 向切面编程,提供AOP(面向切面编程)实现。
 Spring配置文件applicationContext.xml中schema:xmlns:aop="http://www.springframework.org/schema/aop"验证会使用到该jar,如果没有此jar包applicationContext.xml将无法解析

org.springframework.asm-3.1.1.RELEASE.jar ---- ---- Spring独立的asm程序,
Spring2.5.6的时候需要asmJar 包,3.0开始提供他自己独立的asm.jar 。ASM是小巧轻便的 Java
字节码操控框架 ,它能方便地生成和改造 Java 代码。 Hibernate 和 Spring 在底层都用到了 ASM(CgLib
底层用的 asm)。
org.springframework.aspects-3.1.1.RELEASE.jar ---- ----
spring整合了aspectjrt.jar,也可以使用aspectjrt.jar来代替。
org.springframework.beans-3.1.1.RELEASE.jar
---- ---- springIoC(依赖注入)的基础实现,所有应用都要用到的,它包含访问配置文件、创建和
管理bean以及进行Inversion of Control / Dependency
Injection(IoC/DI)操作相关的所有类。
org.springframework.context.support-3.1.1.RELEASE.jar ---- ----
spring-context 的扩展支持,包含支持缓存Cache(ehcache)、JCA、JMX、邮 件服务(Java
Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。
org.springframework.context-3.1.1.RELEASE.jar
---- ----spring 提供在基础 IoC 功能上的扩展服务,此外还提供许多企业级服务的支持,如 邮件
服务、任务调度、JNDI定位、EJB 集成、远程访问、 缓存以及各种视图层框架的封装等。
org.springframework.core-3.1.1.RELEASE.jar
---- ---- 包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组
件的基本核心。
org.springframework.expression-3.1.1.RELEASE.jar
---- ----spring 表达式语言。
org.springframework.instrument.tomcat-3.1.1.RELEASE.jar ----
----spring3.1 对 Tomcat 的连接池的基成。
org.springframework.instrument-3.1.1.RELEASE.jar ---- ----spring3.1
对服务器的代理接口。
org.springframework.jdbc-3.1.1.RELEASE.jar ----
----包含对Spring对JDBC数据访问进行封装的所有类。
org.springframework.jms-3.1.1.RELEASE.jar ---- ----提供了对JMS
1.0.2/1.1的支持类。
org.springframework.orm-3.1.1.RELEASE.jar ----
----包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate
已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar包

org.springframework.oxm-3.1.1.RELEASE.jar ---- ----spring
对Object/XMI 的映射的支持,可以让JAVA与XML之间来回切换。
org.springframework.test-3.1.1.RELEASE.jar ---- ----spring 对Junit
等测试框架的简单封装。
org.springframework.transaction-3.1.1.RELEASE.jar ----
----为为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理。
org.springframework.web.portlet-3.1.1.RELEASE.jar ----
----springMVC 的增强,支持portlet标准(JSR168/JSR286)。
org.springframework.web.servlet-3.1.1.RELEASE.jar ---- ----对
J2EE6.0 Servlet3.0 的支持。
org.springframework.web.struts-3.1.1.RELEASE.jar ---- ---- 整合
Struts 的支持。
org.springframework.web-3.1.1.RELEASE.jar
---- ----包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext
特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
Spring-tx.jar Spring的事务处理类


 

Spring配置文件applicationContext.xml中xmlns:tx="http://www.springframework.org/schema/tx"验证会使用到该jar,如果没有此jar包applicationContext.xml将无法解析

Commons-logging.jar
三、spring的配置文件模版
  
<?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-3.0.xsd">

…………
</beans>
该配置模版可以从spring的参考手册或spring的例子中得到(打开spring-3.2.0.M2\docs\reference\html下的beans.html,然后搜索
<beans
即可看到该文件模板
)。配置文件的取名可以任意,文件可以存放在任何目录下,但考虑到通用性,一般放在类路径下。

Spring学习1-初识Spring的更多相关文章

  1. Spring学习,初识Spring

    Spring概述 将Spring理解为管理对象间依赖关系的容器 “解耦” 根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类 ```Spring 是为了解决企业级开发的复 ...

  2. Spring学习1:Spring基本特性

    http://longliqiang88.github.io/2015/08/14/Spring%E5%AD%A6%E4%B9%A01%EF%BC%9ASpring%E5%9F%BA%E6%9C%AC ...

  3. Java开发学习(一)----初识Spring及其核心概念

    一. Spring系统架构 1.1 系统架构图 Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基. Spring Framework的发展也经历了很多版本的变更,每 ...

  4. spring学习笔记(一) Spring概述

    博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书.  强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...

  5. Java架构师之路 Spring学习笔记(一) Spring介绍

    前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...

  6. Spring学习 6- Spring MVC (Spring MVC原理及配置详解)

    百度的面试官问:Web容器,Servlet容器,SpringMVC容器的区别: 我还写了个文章,说明web容器与servlet容器的联系,参考:servlet单实例多线程模式 这个文章有web容器与s ...

  7. Spring学习9-MyEclipse中Spring工程使用@Resource注释的问题

    在MyEclipse 的Spring工程中,有时候要使用@Resource注释来驱动Spring配置.但是在MyEclipse添加Spring开发能力的操作中,并没有 把相关的库添加到工程的class ...

  8. Spring学习十四----------Spring AOP实例

    © 版权声明:本文为博主原创文章,转载请注明出处 实例 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0 ...

  9. Spring学习(五)--构建Spring Web应用程序

    一.Spring MVC起步 看过猫和老鼠的小伙伴都可以想象Tom猫所制作的捕鼠器:它的目标 是发送一个小钢球,让它经过一系列稀奇古怪的装置,最后触发捕鼠 器.小钢球穿过各种复杂的配件,从一个斜坡上滚 ...

随机推荐

  1. acl拒绝访问流量

        interface Ethernet0/0 ip address 12.1.1.2 255.255.255.0 ip access-group 10 in half-duplex   R1# ...

  2. Linux 网络编程五(UDP协议)

    UDP和TCP的对比 --UDP处理的细节比TCP少. --UDP不能保证消息被传送到目的地. --UDP不能保证数据包的传递顺序. --TCP处理UDP不处理的细节. --TCP是面向连接的协议 - ...

  3. 七种css方式让一个容器水平垂直居中

    阅读目录 方法一:position加margin 方法二: diaplay:table-cell 方法三:position加 transform 方法四:flex;align-items: cente ...

  4. 求时间差的sql语句。 比如如下数据

    msisdn createtime closetime138 2011-5-17 15:30:00:000 2011-5-17 15:30:00:530138 2011-5-17 15:40:00:0 ...

  5. scrapy 的 selector 练习

    网页结构: <html> <head> <base href='http://example.com/' /> <title>Example websi ...

  6. LeetCode 笔记26 Single Number II

    Given an array of integers, every element appears three times except for one. Find that single one. ...

  7. Linux基础入门

    第一节,linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 (一).Linux 为何物 ...

  8. 工作随笔——tar命令批量解压

    由于linux的tar命令不支持批量解压,所以很多网友编写了好多支持批量解压的shell命令,收集了一下,供大家分享: 第一: for tar in *.tar.gz; do tar xvf $tar ...

  9. HoloLens开发手记 - Unity之场景共享 Shared holographic experiences in Unity

    佩戴HoloLens的多个用户可以使用场景共享特性来获取集合视野,并可以与固定在空间中某个位置的同一全息对象进行交互操作.这一切是通过空间锚共享(Anchor Sharing)来实现的. 为了使用共享 ...

  10. windows 7 + vs2010 sp1编译 x64位版qt4

    由于qt官方没有发布预编译的64位版qt4,要使用64位版qt4,只能自己编译,编译过程如下: 1,下载源码并解压到D:\qt-src\qt-everywhere-opensource-src-4.8 ...