Spring学习1-初识Spring
一、简介
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的更多相关文章
- Spring学习,初识Spring
Spring概述 将Spring理解为管理对象间依赖关系的容器 “解耦” 根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类 ```Spring 是为了解决企业级开发的复 ...
- 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 ...
- Java开发学习(一)----初识Spring及其核心概念
一. Spring系统架构 1.1 系统架构图 Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基. Spring Framework的发展也经历了很多版本的变更,每 ...
- spring学习笔记(一) Spring概述
博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书. 强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...
- Java架构师之路 Spring学习笔记(一) Spring介绍
前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...
- Spring学习 6- Spring MVC (Spring MVC原理及配置详解)
百度的面试官问:Web容器,Servlet容器,SpringMVC容器的区别: 我还写了个文章,说明web容器与servlet容器的联系,参考:servlet单实例多线程模式 这个文章有web容器与s ...
- Spring学习9-MyEclipse中Spring工程使用@Resource注释的问题
在MyEclipse 的Spring工程中,有时候要使用@Resource注释来驱动Spring配置.但是在MyEclipse添加Spring开发能力的操作中,并没有 把相关的库添加到工程的class ...
- Spring学习十四----------Spring AOP实例
© 版权声明:本文为博主原创文章,转载请注明出处 实例 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0 ...
- Spring学习(五)--构建Spring Web应用程序
一.Spring MVC起步 看过猫和老鼠的小伙伴都可以想象Tom猫所制作的捕鼠器:它的目标 是发送一个小钢球,让它经过一系列稀奇古怪的装置,最后触发捕鼠 器.小钢球穿过各种复杂的配件,从一个斜坡上滚 ...
随机推荐
- 推荐一款开源的C#TCP通讯框架
原来收费的TCP通讯框架开源了,这是一款国外的开源TCP通信框架,使用了一段时间,感觉不错,介绍给大家 框架名称是networkcomms 作者开发了5年多,目前已经停止开发,对于中小型的应用场景,够 ...
- 那些OVER的封装
什么over什么,如pppoe, ppp的封装都在over对象之后,入下图: PPPOE Ipsec
- windows 批处理把所有java源码导入一个txt文件中
首先在src下搜*.java,把搜到的文件全拷出来放在allsrc目录下, 然后在allsrc目录下建个run.bat,键入以下内容for %%i in (*.java) do type %%i&g ...
- 神奇的main方法详解
main函数的详解: public : 公共的. 权限是最大,在任何情况下都可以访问. 原因: 为了保证让jvm在任何情况下都可以访问到main方法. static: 静态 ...
- github上一款特别的侧滑
知识分享: 首先看图,我只是大自然的搬运工,想实现这种特效的请点击连接下载github地址忘掉了,....http://download.csdn.net/detail/lj419855402/860 ...
- matlab 给某一列乘上一个系数
矩阵M是一个 mxn 的矩阵,现在要给M矩阵的第一列都要乘上10,使其第一列扩大10倍,那肿么做呢? 我第一时间用的是: M(:,1) = M(:,1)*10; //错误的 但是这个错了,结果是不对的 ...
- Matlab 用fread、fwrite实现大文件读写
最近在分析一个35G的大数据文件,猛一看,是不是很吓人啊,不过还好,师兄写文件的格式非常规范,读取数据来也就很方便了,主要是使用了读写文件的两个函数fread和fwrite,下面用matlab简单尝试 ...
- [CareerCup] 8.6 Jigsaw Puzzle 拼图游戏
8.6 Implement a jigsaw puzzle. Design the data structures and explain an algorithm to solve the puzz ...
- Scala学习笔记(五):类和对象
对象实例的变量组成了对象的内存映射 public是Scala的默认访问级别 Scala里方法参数的一个重要特征是它们都是val,不是var Scala不能定义静态成员 单例对象(singleton o ...
- mysql使用基础 sql语句(一)
csdn博文地址:mysql使用基础 sql语句(一) 点击进入 命令行输入mysql -u root -p,回车再输入密码,进入mysql. 终端命令以分号作为一条语句的结束,可分为多行输入,只需 ...