一、什么是Spring?
Spring是一款主流的、开源、轻量级的企业级java应用程序开发框架,具有强大的功能和卓越的性能。
在服务器端采用三层体系架构:表现层(web)、业务逻辑层(service)、持久层(dao)。
Spring提供了web MVC框架:
- 模型(Model)由POJO类组成,封装了应用程序数据。
- 视图(View)渲染模型数据。
- 控制器(Controller)负责处理用户发送的请求并生成对应的模型,然后传递给视图渲染。
二、Spring体系结构
Spring框架采用分层架构,根据不同的功能划分成多个模块。
Spring体系结构
上面的模块可按照需求进行选择使用,不必全部引入。
模块介绍
1、Data Access/Integration(数据访问/集成)
- JDBC:提供JDBC抽象层,大幅减少对数据库的编码
- ORM:对关系映射API(JPA、JDO、Hibernate和iBatis)提供了集成层
- OXM:提供支持对象/XML映射的抽象层实现(JAXB、Castor、XMLBeans、JiBX和XStream)
- JMS:java消息服务(生产和消费的信息)
- Transactions事务:支持编程和声明式事务管理实现特殊接口类
2、Web模块
- Web:提供基本Web开发集成特性(file上传、用Servlet监听器的IoC容器初始化和Web应用上下文)
- Servlet:MVC——实现——>WebApp
- Struts:支持类内的SpringApp,集成经典的Struts Web层
- Portlet:提供在Portlet中使用MVC的实现(类似Web—Servlet模块)
3、Core Container(核心容器)
- Beans:提供BeanFactory,是工厂模式的经典实现,Spring将管理对象称为Bean
- Core:Spring基本组成部分(包括IoC和DI功能)
- Context:建立于Core和Beans基础之上,是访问定义和配置任何对象的媒介,其焦点是ApplicationContext接口
- Expression Language:运行时查询和操作对象图的表达式语言
4、其他
- AOP:提供面向切面编程实现,允许定义方法拦截器和切入点,将代码按功能分离,降低耦合性
- Aspects:提供与AspectJ的集成,是一个面向切面编程(AOP)的框架
- Instrumentation:提供类工具的支持和类加载器的实现,可在特定应用服务器中使用
- Test:支持Spring组件,用JNit/TestNG框架的测试
IOC:控制翻转,把创建对象过程交给Spring管理
AOP:面向切面,不修改源代码进行功能增强
看到上面这些一脸懵逼。。。。
三、环境配置
我们要先去官网下载需要用到的jar包,可以直接到https://repo.spring.io/release/org/springframework/spring/找自己要的版本即可,就不用到网上一路找,用浏览器下载可能会很慢,可以结合IDM下载就很香啦。 然后再下载一个日志的jar包commons-logging
,地址==>http://commons.apache.org/proper/commons-logging/download_logging.cgi
所需jar包
spring的jar包中主要有三个文件夹
jar包内容
docs:API文档和开发规范
libs:jar包和源码
schema:与开发相关的schema文件,其定义了相关配置文件的约束
我们首先关注libs中的beans
、context
、core
和 expression
四个核心jar包
这四个jar包对应上边说的体系结构中的核心容器,是Spring的核心基础包,到时候将其导入到项目的lib目录即可