前话:很多人刚学java没多久就开始学springboot,毕竟springboot屏蔽了很多框架的配置,导致搭建一个项目变得比以前简单很多。但建议还是先把基础的框架都熟悉一遍,再用springboot搭建项目会有一种融会贯通的感觉,要不然出问题了很难排查。

SpringBoot定义

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

为什么使用

如果大家之前有用maven搭建过普通项目就会知道,各个框架之间需要配置各式各样的配置文件,而且还要考虑版本冲突。如果你搭建过多个项目你还会知道,大多数框架的配置文件都是大同小异,基本上都是约定俗成的配置,所以springboot的出现大大简化了搭建的时间。那为什么之前没有人想过这个问题呢,主要是因为微服务的兴起。以前一般也就一两个工程,慢点关系不大。可是微服务动不动就几十个工程,所以使用springboot的好处大大提升。

实战

现在我们动手创建一个springboot工程,就知道它为什么香了。建议有idea的用idea创建,如果用eclipse可以去官网生成再maven导入,整个流程都差不多。

新建项目

选择Spring Initializr

springboot的版本不同对应框架的版本也不同,也对应有些框架勾选不了,新的版本也会解决某些问题,比如SpringBoot1旧版本中配置的拦截器对静态资源默认是放行不拦截对,而在SpringBoot 2.0.0及其以上版本的拦截器不会对静态资源默认放行,同样也会进行拦截。这里版本自行选择,然后选上需要的框架。

填上maven的相关信息,springboot打包后的jar包也可以在tomcat运行,不过会在pom文件中生成一项配置。

写上工程名称和位置

如图所示会生成标准的目录机构:

  • l src/main/java 程序开发以及主程序入口
  • l src/main/resources 配置文件
  • l src/test/java 测试程序

建议目录如上,DemoApplication是启动类,建议放在root package根目录下,这点很重要,因为默认情况下@SpringBootApplication扫描范围是注解所在配置类包及子包的类。这里涉及关键注解的工作原理,后续文章会说到。

在启动类run将直接启动tomcat,启动成功说明工程搭建完成。

spring-boot-starter-web依赖启动器的主要作用是提供Web开发场景所需的底层所有依赖,默认使用tomcat启动。

结论

实战完之后应该切身体会到为什么说springboot大大简化了搭建流程,当然便利的同时也带来了其他问题,所以需要了解工作原理以及一些个性化配置如何配置。

最新文章

  1. windows系统激活-使用微软官方公布的kms client setup key安装或安装后使用slmgr导入
  2. Oracle 12c SYSAUX表空间不足处理-清理audsys.cli_swp$a9b5f52c$1$1表
  3. SQL中ISNULL用法示例
  4. Android 高级UI设计笔记15:HorizontalScrollView之 实现画廊式图片浏览器
  5. Storm系列(十三)架构分析之Worker-维护ZMQ连接
  6. Sass中的Map 详解
  7. 教程:使用 MongoDB、WCF、OData 和 PowerBI 构建 Azure 上的商业智能解决方案
  8. Struts2配置文件讲解
  9. hdu1023:卡特兰数
  10. deque(双端队列)
  11. [LeetCode]N-Queens 八皇后问题扩展(经典深层搜索)
  12. JS 获取网页的宽高
  13. mac地址和ip地址要同时存在么?
  14. The Importance of Money in Life
  15. 整理JRE瘦身或精简JRE
  16. C++:如何删除string对象的末尾非数字字符
  17. 吴裕雄 python matplotlib 绘图示例
  18. libxml2的xpath检索中文
  19. 利用PHP脚本辅助MySQL数据库管理4-两个库表结构差异比较
  20. 实测—fft IP核使用(包括ifft的配置使用)

热门文章

  1. Ubuntu Linux 学习篇 配置DHCP服务器
  2. [C#] 使用 NAudio 实现音频可视化
  3. HashMap底层原理分析
  4. Django(5)django配置信息
  5. 从执行上下文(ES3,ES5)的角度来理解"闭包"
  6. 用fseek和ftell获取文件的大小
  7. 客户端保存token到sessionStorage
  8. [刷题] 1022 D进制的A+B (20分)
  9. [Linux] Shell请求网页
  10. RHCE脚本题目详解