Spring Boot是什么?
Spring Boot可以轻松创建可以运行的独立的,生产级的基于Spring的应用程序。我们对Spring平台和第三方库采取自己认为的观点,以便您尽可能少用大惊小怪。大多数Spring Boot应用程序只需要很少的Spring配置。
Spring Boot 与 Spring Framework之间的关系
spring framework就好比一个大型的电子元件生产公司,它生产的元件性能都很优秀,但是坊间使用它的元件的作坊,拿到手之后还得搞一些电焊,衔接,可能要花个10天半个月最后做成一个家电或者机器人(不管啥了,只是例子)。
有一天这个公司就宣布,我们现在提供了一些功能模块,比如摄像头传感器,扩音器传感器,压力传感器,它们都是统一的usb接口的,只需要插线连接就能使用了。这样是不是大大降低了坊间小作坊的人力物力各种力,5分钟就拼凑出一个机器人了有木有。
看出啥来了吗?各种电子元件就是springframe上面关于其他诸如mq,websocket, zookeeper, redis的整合代码包,没有springboot starter我们还是得自己去调用各种不同的接线头,芯片端口去接线调试,还可能把芯片弄坏,弄烧了。。。
springboot提供了基于spring 的各种starter(传感器)的快速启动,搭建框架的便利;
spring-boot-starter-xxx 就是上面说的各种传感器,对各种芯片的封装,提供简单统一的调用,配置方式。 你去学会发现只需要加入starter依赖,就能使用默认配置了快速把新功能加入到项目中了。
Spring Boot优缺点
优点:
- 使用Java或Groovy开发基于Spring的应用程序非常容易。
- 它减少了大量的开发时间并提高了生产力。
- 它避免了编写大量的样板代码,注释和XML配置。
- Spring Boot应用程序与其Spring生态系统(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。
- 它遵循“自用默认配置”方法,以减少开发工作量。
- 它提供嵌入式HTTP服务器,如Tomcat,Jetty等,以开发和测试Web应用程序非常容易。
- 它提供CLI(命令行界面)工具从命令提示符,非常容易和快速地开发和测试Spring Boot(Java或Groovy)应用程序。
- 它提供了许多插件来开发和测试Spring启动应用程序非常容易使用构建工具,如Maven和Gradle。
- 它提供了许多插件,以便与嵌入式和内存数据库工作非常容易。
缺点:
将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。它仅适用于全新Spring项目。Spring Boot入门实例
基于maven实现:
1、新建maven项目SpringBootDemo
在pom.xml中添加下面代码:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2、创建HelloControler
package com.itcv.hello;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@Controller
@EnableAutoConfiguration
public class HelloControler {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(HelloControler.class, args);
}
}
3、运行:
访问 http://localhost:8080/
问题
官方一直在提spring boot cli 到底有什么用,为什么要需要spring boot cli