1.什么是springboot?
-
Spring Boot是基于Spring框架开发的全新框架,其设计目的是简化新Spring应用的初始化搭建和开发过程。
-
Spring Boot整合了许多框架和第三方库配置,几乎可以达到“开箱即用”。
2.Spring Boot 优点?
-
可快速构建独立的Spring应用
-
直接嵌入Tomcat、Jetty和Undertow服务器(无需部署WAR文件)
-
提供依赖启动器简化构建配置
-
极大程度的自动化配置Spring和第三方库
-
提供生产就绪功能
-
极少的代码生成和XML配置
3.Springboot和SpringMVC区别
Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的ioc和 aop,ioc 提供了依赖注入的容器, aop解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。
Spring MVC提供了一种轻度耦合的方式来开发web应用。它是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。
Spring Boot实现了自动配置,降低了项目搭建的复杂度。它主要是为了解决使用Spring框架需要进行大量的配置太麻烦的问题,所以它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)。
Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。
对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。
总结
所以,用最简练的语言概括就是:
Spring 是一个“核心”;
Spring MVC 是基于Spring的一个 MVC 框架;
Spring Boot 是基于Spring4的条件注入的一套快速开发整合包。
2.使用springboot创建工程
2.1创建maven普通工程,引入依赖
<!--引入父依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<!-- web相关依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
2.2创建项目根目录,并在当前包下创建启动器
注意:启动类必须放在根目录,必须和service、Controller、dao包同级或之上才可以,因为MyApplication设为启动类后,会自动扫扫描它当前目录下所有的注解@Controller @Service @Repository...并且加入到容器中
/**
* 启动类必须放在根目录,必须和 service controller dao同级或者以上才可以
* MyApplication会自动扫描 它当前目录下所有的标记 @Controller @Service @Repository...并且加入到容器中
*/
@SpringBootApplication //标记当前类是启动类
public class MyApplication {
public static void main(String[] args) {
// 启动springBoot
SpringApplication.run(MyApplication.class,args);
}
}
@SpringBootApplication标记当前类是启动类
2.3创建Controller
//@Controller
@RestController //等价于 @Controller + @ResponseBody 当前类下返回的都为json 数据
public class HiController {
@RequestMapping("/hi")
// @ResponseBody
public String hi(){
return "hello springboot";
}
}