大家好,我是java菜鸟届的小菜,我现在 在学习Spring框架底层,我也想借此机会翻译翻译这篇文章。
首先呢让我唱响国际歌:起来饥寒交迫的程序员,起来全世界开发的人。好了别改变人家的歌词了。皮埃尔·狄盖特 的棺材板盖不住了。言归正传——————让我们一起步入Spring的世界里。
我们先说下概念性的文理,spring是一个最值得学一学的框架,让我们趟这波浑水,
一、Spring概述
Spring是一个开源的轻量级JAVA SE 丨 JAVA EE开发应用及框架,其目的是为了简化企业级应用程序开发,应用程序是由一组相互协助的对象组成。而传统的应用程序开发中一个完整的应用是由一组相互协调的对象组成。所以开发一个应用除了我们知道的业务逻辑之外,最多的是我们关注的如何是这些对象协作来完成所需功能,而其还要低耦合、高内聚,业务逻辑开发是不可避免的,那如果有一个框架来帮助我们创建对象和管理对象之间的依赖关系,可能有的老铁就会说了,那比如“抽象工厂、工厂方法设计模式”,不也可以帮我们创建对象,生成器模式帮我们处理这些类与类之间的依赖关系,不是也能完成吗?其实啊这些事都可以完成但是啊可以想象下。如果我们这么开发是不是很麻烦,有是创建工厂类又是创建生成类,我们还要管理这些类,很麻烦啊会增加一下负担。如果我们能有种通过配置方式来创建对象,来管理这些类的依赖关系,我们就不需要创建工厂类生成类来帮我们创建和管理对象以及对象间的依赖关系,为我们减轻不少的代码量,还有利于加速开发进度节省下的时间我们还能研究更完美的代码。说到这了,我们今天的主角出来了那就是Spring框架。
Spring这个框架不单单能帮我们创建对象和管理对象依赖,还能提供使用日志记录、技能统计、安全控制、异常处理等面向切面的能力,还能解决我们最大的痛心之处———数据事务,本是提供了一个简单的JDBC访问实现,提供了能与第三方数据访问框架集成(Hibernate、JPA、MyBatis),在JAVAEE整合中自己还出台了一个自己的web曾框架SpringMVC。可想而知还是蛮好的、满强大的、一个战斗形框架。他轻量级到零配置,只需要编写简单的Bean,和第三方框架无缝隙集成,将JAVA设计模式用的那叫淋漓尽致啊。要么说吗这才是编码中的战斗民族。
Spring设计是为了解决企业级复杂的而设定的,他能干好多事,自诞生之日起便抛头颅洒热血的为解决JAVA的简化而奋斗,对此啊他主要采取了4个关键性的策略,
- 基于POJO的轻量级和最小侵入性编程;
- 通过依赖注入和面向接口松耦合;
- 基于切面惯性进行声明式编程;
- 通过切面和模板减少样板是代码;
- 而他主要是通过面向Bean、依赖注入以及面向切面这三种方式来表达的。