学习SpringBoot之前,先学spring framework吧,把spring 的原理,配置那些东西学会,理解了,再去用spring boot 很容易上手,其实spring boot 就是把很多spring 的配置都简化了,很多东西在properties配置文件里写了之后,spring boot 就会自动帮你把相关的bean配置上,例如你在配置文件里把数据库连接的相关地址,用户,密码配好后,spring boot就会自动帮你把数据库连接池配置好,当然你也可以不用他提供的自动配置功能,完全可以按照你的需求去集成其他的,例如dbcp、c2po、driud等其他的数据库连接池,其他的类似的配置还很多,多看看spring boot autoconfigration 的源码就知道了。
如果你还在使用xml或者java配置的方式来配置Spring,如果你还在为使用Spring集成其他组件而发愁,那么SpringBoot就是你的最佳选择。如果你一旦选择了SpringBoot,那么你绝对不愿意在没有SpringBoot的环境下工作。你会时时刻刻都在想着SpringBoot的好处(所以建议先学习Spring的基础内容,等把理论都学懂了,再来使用SpringBoot)。
Spring Boot是强大的,Spring Boot的目标就是解决Spring繁琐的配置而出现的。以一个简单的application.properties配置文件就可以完成所有的配置。通过Spring Boot还可以直接集成web容器,也就是说一个web项目可以像普通的java项目一样运行。而这一切的配置依然都是在application.properties中所进行配置的。
那么到底什么是spring boot呢,借用百度百科中的一段话Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
从这段话中,我们可以了解到一些信息Spring Boot是为了简化Spring的初始搭建以及开发过程而存在的。做过Spring开发的朋友都知道,尤其是在Spring1的时代,需要大量的xml的配置,到了Spring2和Spring3出现了注解和java配置的方式,配置相对简单,但依然有众多的模板配置。Spring Boot的出现就是为了简化这些配置的。Spring Boot专注于敏捷开发。敏捷开发是现在软件开发领域所倡导的一个理念。其中有一个原则就是习惯优于配置,在Spring中整合一个第三方工具可能要进行很多的配置,而到了Spring Boot中,可能一行配置都不需要写就可以了。
对于普通开发者来讲,关注Spring Boot的意义其实并大不,因为Spring Boot也是基于Spring的,对于业务逻辑代码的开发使用还是不使用Spring Boot是没有任何关系的。但是,对于系统架构师来讲,就比较有意义了,因为在集成各种组件的时候少了很多的配置,非常的简洁方便。