Spring 概述&开发准备

笔者的Spring之旅正式开始了,正在看《Spring揭秘》和《Spring IN ACTION》两本书籍,感觉《Spring揭秘》更加入门,《Spring实战》相对来说要难一点,我就都一起看,能在看完入门的时候,再看难一点的对自己有所提升。希望也能通过不断的总结,帮助的热爱Spring热爱Java的朋友们。


该篇博客主要阐述

1、什么是Spring框架?
2、Spring下载&Spring基本开发所需jar包
3、Spring的体系结构
4、Spring两大核心、四大优点

一、什么是Spring框架?

Spring是于2003年兴起的一个分层的一站式轻量级的开源框架,由 Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生。它的最初目的是为了简化Java EE的企业级应用开发,相对于过去的EJB时代重量级的企业应用开发而言,Spring框架的出现带来了无限的光明

理解分层、一站式、轻量级
  • 分层:基于三层架构(表现层、业务层、持久层)
  • 一站式:提供了每个层的解决方案
    • 表现层:SpringMVC
    • 业务层:IoC、AOP、事务控制
    • 持久层:jdbc模板、Hibernate模板
  • 轻量级:相对于之前的EJB来说,非常轻量了
Spring致力于简化企业级Java开发,促进代码松散耦合.成功的关键在于依赖注入和AOP

二、Spring下载&Spring基本开发所需jar包

Spring下载方式

http://repo.springsource.org/libs-release-local/org/springframework/spring/4.3.10.RELEASE/spring-framework-4.3.10.RELEASE-dist.zip

如果需要其他版本只需要在4.3.10上修改自己需要的版本号即可

以下是我准备的所有jar

这里写图片描述

Spring基本开发所需jar包

基本开发需要6个jar(包括4个常用Spring的jar和2个常用日志包)

常用Spring的jar

在spring-framework-4.3.10.RELEASE-dist\spring-framework-4.3.10.RELEASE\libs下找到

spring-beans-4.3.10.RELEASE.jar
spring-context-4.3.10.RELEASE.jar
spring-core-4.3.10.RELEASE.jar
spring-expression-4.3.10.RELEASE.jar
常用日志包
1、
spring-framework-3.0.2.RELEASE-dependencies\org.apache.commons\ com.springsource.org.apache.commons.logging\1.1.1
下的

com.springsource.org.apache.commons.logging-1.1.1.jar
2、
spring-framework-3.0.2.RELEASE-dependencies\org.apache.log4j\com.springsource.org.apache.log4j\1.2.15
下的

com.springsource.org.apache.log4j-1.2.15.jar

将以上6个包Build Path后还需要一步就是在src中加log4j.properties配置文件,关于log4j可以看我相关博客https://blog.csdn.net/w_linux/article/details/79995814


三、Spring的体系结构

Spring框架由几个不同模块构成。打开Spring的dist目录下有大于20个不同的JAR文件,组成Spring这些JAR文件依据其所属的功能可划分为6个不同的功能模块如下

这里写图片描述

总体来说,这6个模块为开发企业级应用提供了所需的一切。但是不止于此,Spring甚至还集成了其他第三方框架和类库,可以自由使用

1、核心Spring容器(Core Spring container)

Core Spring container,顾名思义,容器是Spring框架最核心的部分。 它负责Spring应用中的Bean创建、配置和管理。在该模块中,会发现Spring的Bean工厂提供了依赖注入(DI)。在Bean工厂之上,可以发现几种Spring应用上下文的实现,每一种提供了配置Spring的不同方式。当然该模块提供的要远多于这些,还提供了比如邮件、JNDI访问等

2、Spring的AOP模块

面向切面编程,与依赖注入一样,AOP可以帮助应用对象解耦

3、数据访问与集成(Data access&integration)

处理数据与数据库相关

4、Web和远程调用(Web and remoting)

虽然Java从来不缺少MVC框架,但是Spring的Web和远程调用模块自带了一个强大的MVC框架,有助于应用提升Web层技术的松散耦合

5、测试(Test)

鉴于自测的重要性,Spring提供了测试模块来测试Spring应用


四、Spring两大核心、四大优点

1、Spring两大核心

  • IoC(Inverse of Control 控制反转),将对象创建的权利交给Spring工厂管理
  • AOP(Aspect Oriented Programming 面向切面编程),基于动态代理的功能增强方式

2、Spring四大优点——Spring是开发架构的粘合剂

  • 简化Java开发,方便解耦:Spring大大方便了解耦,它就是一个大工厂,可以将所以对象创建和依赖关系维护交给Spring管理
  • 基于POJO(简单的Java类)的轻量级和最小侵入性编程
  • AOP编程的支持、依赖注入
  • 使用模板消除样板式代码:样板式代码意思就是,在你编写代码的时候,总会感觉以前写过相同的代码,这就是样板式代码,你不得不重复编写这样的代码,只是为了实现通用和简单的任务,比如JDBC就是这样。Spring旨在通过模板封装来消除样板式代码,比如Spring的jdbcTemplate使得在执行数据库操作时,避免传统的JDBC样板式代码成为可能

参考

《Spring揭秘》
《Spring IN ACTION》

猜你喜欢

转载自blog.csdn.net/w_linux/article/details/80011194