【杂谈】Starter Template
Spring Boot 项目与普通项目在包管理上的差别
主要差别就是,Spring Boot在包管理上用了starter template,你应该经常看到xxx-starter这类的dependency。实际上就是一个整合包。例如一个spring-boot-web-starter,就包含了所有web应用要用到的基础包。control点进去看就知道了,实际上就是引入了内置的tomcat + JSON处理(jackson)+ spring-web + spring-web-mvc。置于引入Hibernate-Validtor的话,是因为Spring Boot推荐使用JPA,而Hibernate是JPA规范的一种实现。如果你使用的是Mybatis,可以除掉这个包。

整合包有什么好处?
我看到的好处有两个,一个是很明显pom文件看起来清爽多了,包数量看起来少了,也不用再像以前那样<!-- web begin--> <!-- web end--> 来标识哪些是web要用到的包了。
另一方面,就是版本的问题了,有些时候我们需要的包都引入了,但是却发现会报莫名其妙的异常,查了半天才发现,是jar包版本不对。整合包的好处就是,它Spring Boot官方整理好的,能保证这些包可以和谐共处的。
可以移除整合包的部分内容吗?
有些人很反感这种全家桶,或者想要替换其中的某个包。这当然可以,比如,你不想用spring-boot-web-starter中的tomcat包,想替换成jetty。那直接exclude掉,然后单独引入jetty就好。注意了,要引入的也是spring boot提供的,不然可能对接不上。

Spring Boot 有提供哪些整合包?
实际上就是你利用spring initializer构建项目的时候,可以勾选的那些内容。每勾选一个内容,相当于添加一个对应的整合包到对应的项目。
【杂谈】Starter Template的更多相关文章
- DotNet 资源大全中文版(Awesome最新版)
Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...
- 【Bootstrap Demo】入门例子创建
本文简单介绍下如何来使用 Bootstrap,通过引入 Bootstrap,来实现一个最基本的入门例子. 在前一篇博文[Bootstrap]1.初识Bootstrap 基础之上,我们完全可以更加方便快 ...
- Bootstrap 简介
一.Bootstrap介绍 Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目.本课时讲解 Bootstrap 的概念,并介绍 Boo ...
- 【Bootstrap】入门例子创建
本文简单介绍下如何来使用 Bootstrap,通过引入 Bootstrap,来实现一个最基本的入门例子. 在前一篇博文[Bootstrap]1.初识Bootstrap 基础之上,我们完全可以更加方便快 ...
- [转]Bootstrap 3.0.0 with ASP.NET Web Forms – Step by Step – Without NuGet Package
本文转自:http://www.mytecbits.com/microsoft/dot-net/bootstrap-3-0-0-with-asp-net-web-forms In my earlier ...
- django 快速搭建blog
如果本文看不懂的,去看的我视频吧!http://www.testpub.cn/ ------------------------------------------- Django 自称是“最适合开发 ...
- Bootstrap 3 How-To #1 下载与配置
Bootstrap 3 发布了,通过简单的几步,我们就可以使用 Bootstrap 的样式表,图标,以及 javascript 来配置一个简单的站点. 准备 Bootstrap 不仅仅是一个代码集,还 ...
- ionic项目相关的操作命令
更新npmD:\Program Files\npm-3.9.0\npmnode cli.js install npm -gf vs安装 更新node.js windows版直接从官网下载安装包 n ...
- RX学习笔记:Bootstrap
Bootstrap https://getbootstrap.com 2016-07-01 在学习FreeCodeCamp课程中了解到Bootstrap,并于课程第一个实战题卡在响应式部分,于是先对B ...
随机推荐
- java多线程系列17 ThreadLocal
ThreadLocal 叫做 线程局部变量 在详细解释之前 先看一段代码 public class ThreadLocalTest { private static ThreadLocal<In ...
- SpringMVC学习 十三 拦截器栈
拦截器栈:就是有多个拦截器同时拦截相同的控制器(controller)请求,这写拦截器就构成了拦截器栈. 栈的特点是先进后出,在拦截器栈中也是如此,如果先执行了preHandle方法,也就是意味着先进 ...
- 别人的Linux私房菜(10)vim程序编辑器
很多软件的编辑接口会主动调用vi vi分一般命令模式.编辑模式.命令行模式. 使用vi :/bin/vi welcome.txt 下下端显示文本有多少行,多少字符, 一般命令模式: 上下左右移动光标k ...
- linux_vim编辑文件无法高亮显示解决方法
打开/etc/vimrc(/etc/vim/vimrc不同版本,可能不一样) 在文档最后添加下面内容 syntax on 如图所示:我添加了高亮显示和显示行数 syntax on set nu 修改完 ...
- Python11/26--mysql之视图/触发器/事务/存储过程
视图: 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次用的时候直接使用即可 2.为什么用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何用视图 select * from ...
- (PMP)第9章-----项目资源管理
9.1 规划资源管理 数据表现: 1.层级型(高层次的角色):工作分解结构,组织分解结构,资源分解结构 2.责任分配矩阵:RAM,RACI,执行,负责,咨询,知情(只有一个A) 3.文本型(记录详细职 ...
- 公司git服务器记录
gitolite:server/web/AmomeWebApp.git gitolite:server/web/AmomeBackendManage.git git@192.168.1.183 === ...
- freeRTOSConfig.h文件对FreeRTOS进行系统配置
FreeRTOS内核是高度可定制的,使用配置文件FreeRTOSConfig.h进行定制.每个FreeRTOS应用都必须包含这个头文件,用户根据实际应用来裁剪定制FreeRTOS内核.这个配置文件是针 ...
- 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调
[源码下载] 背水一战 Windows 10 (67) - 控件(控件基类): DependencyObject - CoreDispatcher, 依赖属性的设置与获取, 依赖属性的变化回调 作者: ...
- 不需要 root 权限的 ping
https://blog.lilydjwg.me/2013/10/29/non-privileged-icmp-ping.41390.html https://stackoverflow.com/qu ...