目录
来自《深入浅出Spring Boot》这本书的总结,会持续更新
1.1spring Boot历史
1.2注解还是XML
来自《深入浅出Spring Boot》这本书的总结,会持续更新
1.1spring Boot历史
2002年以前,当时正是javaEE和EJB的时代,EJB由Sun公司所推出,它是一个技术规范:EJB 从技术上而言不是一种"产品"
2002年澳大利亚工程师Rod Johnson首次提出了Spring的概念,其任务EJB是可以简化的
2004年由Rod Johnson主导的spring1.0正式发布,其优越的特性使得大量开发者选择放弃EJB,此后spring一站成名,尽管EJB3.0使用了spring的思想,但也没能挽回其没落的脚步
1.2注解还是XML
在spring1.x版本,由于JDK并不支持注解开发,所以都会使用XML方式,而后马上JDK5便支持少部分注解的开发,这个时候便出现了一部分人喜欢XML,一部分人喜欢注解,随着时间推移,大家默认会 使用业务代码使用注解,例如dao层使用@Reponsitory,service层使用@Service,而像第三方库,可以理解为不是自定义的模块,使用XML配置bean标签的方式,时间来到2014年,Pivotal团队在spring框架基础上进一步简化spring开发,发布springboot,才用了"约定大于配置"的思想,所以springboot并不是替代了spring,只是帮助开发者简化开发,如果对spring的原理不清楚,在使用springboot是一旦出现错误会很头疼。
spring boot开箱即用的特点使得其更适应当下微服务快速开发、测试以及部署。
总结一下spring的特点:
1、方便解耦
spring框架可以用来控制依赖关系和创建对象,大大降低了代码之间的耦合性和侵入性。
2、支持APO
通过spring提供的apo支持,可以将通用任务集中式处理,方便进行面向切面的编程,提升程序的复用性。
3、支持声明式事物管理
方便对程序进行声明式事物管理,无需动手编程,提高开发效率和质量。
4、方便程序的测试
能用非容器依赖的编程方式进行几乎所有的测试工作
5、方便集成各种优秀框架
spring不排斥优秀框架,其内部提供了对各种优秀框架的直接支持。
6、降低Java EE API的使用难度
spring对难用的JavaEE API进行了封装,使得这些API的使用难度大为降低。
7、非侵入式框架
Spring是一种非侵入式(non-invasive)框架,能减少应用程序对框架的依赖。
简述一下spring非侵入式,侵入式框架一般要继承框架的类,侵入到我们的代码中,非侵入式框架不需要我们引入框架代码,侵入事会让程序对框架产生依赖,非侵入式则可以迁移到其它地方。