spring boot 继承抽象类 构造函数注入_Spring实战1:Spring初探奥秘

作者:阿杜_javaadu

链接:https://www.jianshu.com/p/9370707091ef

主要内容

  • Spring的使命——简化Java开发
  • Spring容器
  • Spring的整体架构
  • Spring的新发展

现在的Java程序员赶上了好时候。在将近20年的历史中,Java的发展历经沉浮。尽管有很多为人诟病的产品,例如applets、EJB、Java Data Object(JDO)和数不清的日志框架,Java还是发展为一个庞大且丰富的开发平台,很多企业级应用都是基于JVM平台构建。Spring是JVM开发平台中的一颗明珠。

Spring最开始出现的目的是替代企业级开发框架EJB,相比EJB,Spring提供更轻量和更易用的编程模型。Spring的重要特点是非侵入式增强POJO(plain old java object)的能力。

在后续的发展过程中,EJB也效仿Spring的做法提供了简单的以POJO为中心的编程模型,现在的EJB框架也拥有依赖注入(DI)和面向切面编程(AOP)能力,可以论证是受Spring成功的影响。

尽管J2EE一直在追赶Spring的发展,但是Spring本身也没有停止进步。现在,Spring在一些J2EE刚刚涉入或者完全没有涉入的领域飞速发展:移动开发、社交API整合、NoSQL数据库、云计算和大数据。就目前来看,Spring的未来一片光明。

重要的事情再强调一遍:现在的Java程序员赶上了好时候。

这篇文章会从一个比较高的层次探索Spring,介绍Spring框架解决了哪些主要问题。

1.1 简化Java开发

Spring是一种开源框架,由Rod Johnson发明,并在其著作《Expert One-on-One:J2EE设计与开发》。Spring的初衷是降低企业级开发的复杂性,并试图通过POJO对象实现之前EJB这类重型框架才能实现的功能。Spring不仅仅对服务端开发有用,任何Java应用都可受益于Spring的简洁、易测试和低耦合等特性。

Spring框架中使用beansJavaBeans来表示应用程序中的组件,但这并不意味着该组件必须严格满足Java Bean的规范。

Spring做了很多事情,但是归根到底是一些基本的思路,而所有这些思路最终都导向Spring的使命:简化Java开发

Spring通过下列四种策略来简化Java开发:

  • 基于POJO的轻量级、最小侵入式开发;
  • 通过依赖注入和面向接口编程实现松耦合;
  • 通过面向切面编程和惯例实现声明式编程;
  • 通过面向切面编程和模板消除样板式代码(boierplate code)

几乎Spring的每条特性都可以追溯到这四条策略之一,接下来分别对这四条策略进行阐述,并给出具体的代码说明Spring如何简化Java开发。

1.1.1 激发POJO的能力

如果你做Java开发足够久,你应该遇到过很多会束缚程序员能力的开发框架,这些框架要求程序员继承框架提供的类或者实现它提供的接口,例如EJB框架中的session beans,另外,在EJB之前的很多框架中也有类似的侵入式编程模型,如Struts、WebWork、Tapestry等等。

Spring尽量避免让自己的API污染你的应用代码。Spring几乎不会强制要求开发人员实现某个Spring提供的接口或者继承某个Spring提供的类,在Spring应用中的Java类看起来和普通类一样,不过,Spring现在经常使用注解来修饰Java类,但是这个类还是一个POJO。

举个代码例子说明,看如下的HelloWorldBean

package com.spring.sample;pub
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值