从业10年,经历了技术架构由单一应用部署到分布式部署,业务架构由单一系统到微服务。技术框架由之前的Struts,Struts2为核心,演变到Spring MVC,再到现在的Spring Boot。技术框架的演变方向始终朝着快速开发的目的,让程序员将更多的时间和精力放在业务需求的整理、设计和实现上。
当初Spring的XML配置化的IOC的出现给应用的开发带来极大的便捷,于是很快赢得程序员的喜爱,Spring框架的迅速流程也正是得益于他的轻量级配置、类之间的松耦合、实例方便管理。随着时间的推移,几年前使用Spring做的项目回过头来一看,Spring.xml文件以及非常庞大,里面定义了几百甚至上千的Bean。往往系统还会集成Mybatis,Hibernate,Freemarker,Dubbo,Redis等第三方框架或者工具,整体XML的维护成本也就会变的很高。并且在原先的Spring框架中,XML和注解都可以使用,也就造成一种情形,一个系统中有的人用XML有的人用注解,虽然可以通过代码规范来限制,但是也增加后期维护成本。
Spring Boot的出现可以有效避免上面提到的情况。采用自动化配置的方式,让开发应用变的更加轻松。
新建一个Maven项目,项目名为:demo
修改pom.xml如下:
Spring Boot的在jar依赖方面的处理对程序员来说真的非常友好,spring-boot-starter-web的引入可以自动加载应用需要的一些常见jar,不需要想以前一样一个个人工引入。
一个Web项目,自然少不了一个Controller:
与原先Spring MVC不同的是,我们不需要再在本地IDE里面配置一个应用服务器,然后再打包和运行。在Spring Boot中,只需要增加一个启动类即可:
IDE里面执行右键运行DemoApplication类,即可启动Spring Boot内置应用服务器。
启动完成后,范文:http://localhost:8080/hello
一个简单的demo就这样完成了。文件结构如下所示:

注意:DemoApplication作为启动类,一定要在Controller的上层文件夹下!