SpringBoot基础应用系列day01
简介
Springboot基于Spring4.0设计,由Pivotal公司提供的框架。
SpringBoot 基于 Spring 开发。不仅继承了Spring框架原有的优秀特性,它并不是用来替代 Spring 的解决方案,而和 Spring 框架紧密 结合进一步简化了Spring应用的整个搭建和开发过程。其设计目的是用来简化 Spring 应用的初始搭建以及开发过程怎么简化的呢?就是 通过提供默认配置等方式让我们更容易使用。
关于 SpringBoot 有一句很出名的话就是约定大于配置。采用 Spring Boot 可以大大的简化开发模式,它集成了大量常用的第三方库配 置,所有你想集成的常用框架,它都有对应的组件支持,例如 Redis、MongoDB、Dubbo、kafka,ES等等。SpringBoot 应用中这些第 三方库几乎可以零配置地开箱即用,大部分的 SpringBoot 应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。另外 SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
优点
--快速构建一个独立的 Spring 应用程序 ;
--嵌入的 Tomcat 、 Jetty 或者 Undertow,无须部署 WAR 文件;
--提供starter POMs来简化Maven配置和减少版本冲突所带来的问题;
--对Spring和第三方库提供默认配置,也可修改默认值,简化框架配置;
--提供生产就绪型功能,如指标、健康检查和外部配置;
--无需配置XML,无代码生成,开箱即用;
为什么要使用SpringBoot
说 SpringBoot 简化了基于 Spring 开发,这只是最直观的一方面;还有一个方面: 也更得力于各微服务组件的支持,这也是谈 SpringBoot 必谈微服务的原因。(起初是Netflix移植到Spring),可以说是Spring Cloud带动了SpringBoot ,SpringBoot成就了 SpringCloud。
快速搭建SpringBoot
手动搭建
1.创建maven项目
2.给pom.xml引入依赖
官方文档: 使用插件 :: Spring Boot
引入parent依赖: 通过添加<parent>元素并指定 spring-boot-starter-parent
,可以利用 Spring Boot 提供的默认配置,从而更轻松地管理依赖版本和构建设置,减少了项目配置的复杂性,提高了开发效率。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.0</version> </parent>
引入web依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.2.RELEASE</version> </dependency> </dependencies>
3.创建控制器
-
@RestController
注解:这个注解标识这是一个 RESTful 服务的控制器类。在 Spring MVC 中,@RestController
注解相当于同时加上了@Controller
和@ResponseBody
注解,表示这个类处理 HTTP 请求并返回数据,而不是视图。 -
@RequestMapping("/hello")
注解:这个注解表示这个控制器类中的方法处理来自 "/hello" 路径的请求。在这里,控制器类的根路径是 "/hello"。 -
@RequestMapping("/world")
注解:这个注解表示sayHi()
方法处理来自 "/hello/world" 路径的请求。也就是说,当用户发送一个 GET 请求到 "/hello/world" 路径时,将会调用sayHi()
方法。 -
public String sayHi()
方法:这是一个处理请求的方法。在这个例子中,当用户发送 GET 请求到 "/hello/world" 路径时,sayHi()
方法会被调用,然后返回字符串 "hello world"。这个字符串会被直接作为 HTTP 响应体返回给用户。
这段代码的作用是创建了一个 RESTful 服务的控制器类,在 "/hello" 路径下处理了 "/hello/world" 路径的 GET 请求,并返回 "hello world" 字符串作为响应。
@RestController@RequestMapping("/hello") public class HelloController { @RequestMapping("/world") public String sayHi(){ return "hello world"; } }
4.创建一个启动类
@SpringBootApplication //标记为SpringBoot的启动类 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); } }
5.部署应用到服务器上面
使用插件对应用进行打包
面试题
-
描述一下SpringBoot的作用
Springboot是基于spring4.0的,是用于简化Spring应用开发的一个框架,有很多丰富的功能。比如自动配置,内嵌服务器、监控、健康检查、还有很多快速测试和开发的工具。可以更加快速的构建java应用。一般用于微服务。
-
SpringBoot有哪些特性?
1.快速开发:极大简化了项目的搭建和配置过程,让开发者能快速启动项目
2.自动配置:根据项目依赖自动进行大量常见的配置,减少了手动配置的工作量。
3.嵌入式服务器:可以方便地将应用打包成独立可运行的jar或者war包,并内置如Tomcat服务器。
4.简洁的配置文件:通常只需要少量的配置就能满足大部分的需求
5.微服务友好:非常适合构建微服务的,可以说 Spring Cloud带动了SpringBoot ,SpringBoot成就了 SpringBoot。
6.与Spring框架紧密集成:继承了Spring框架的强大功能和稳定性。