1.SpringBoot初识
SpringBoot是什么
介绍
为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础上提供了一套全新的开源的框架,它就是 Spring Boot。
Spring Boot是由Pivotal团队提供的全新,其设计目的是用来新应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Spring Boot 具有 Spring 一切优秀特性,Spring 能做的事,Spring Boot 都可以做,而且使用更加简单,功能更加丰富,性能更加稳定而健壮。随着近些年来微服务技术的流行,Spring Boot 也成为了时下炙手可热的技术。
特点
-
为所有 Spring 开发提供从根本上更快且可广泛访问的入门体验
-
可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的jar包和war包
-
开箱即用,提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置
-
内嵌Tomcat或Jetty等Servlet容器
-
尽可能自动配置Spring容器
-
提供一系列大型项目通用的非功能特性,(例如嵌入式服务器、安全性、指标、健康检查和外部化配置)
-
绝对没有代码生成,不需要XML配置。
重要策略
面试题:
SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置
1.开箱即用
开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。
2.约定优于配置
约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需要的配置。
本质上是对系统、类库或框架中一些东西(如配置信息)假定一个大众化合理的默认值(缺省值)。例如在模型中存在一个名为User的类,那么对应到数据库会存在一个名为user的表,只有在偏离这个约定时才需要做相关的配置(例如你想将表名命名为t_user等非user时才需要写关于这个名字的配置)。简单来说就是假如你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时时才需要对约定进行替换配置。
3.内置tomcat
SpringBoot 项目创建
方式一 、创建maven项目
创建maven工程
修改pom.xml配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.7</version>
</parent>
添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
编写代码
@SpringBootApplication
@RestController
public class DemoApplication {
@RequestMapping("/hello")
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
方式二、官网向导创建
打开官网向导
打开浏览器,输入网址 http://start.spring.io/ ,如图 所示
创建一个最简单的 SpringBoot 应用,填写项目信息。
-
GENERATE : 直接生成并下载项目
-
EXPLORE : 查看项目
-
SHARE : 分享项目 导入IDEA
main方法
我们应用程序的最后一部分是main方法。这是遵循Java约定的应用程序入口点的标准方法。我们的main方法SpringApplication通过调用委托给Spring Boot的类run。 SpringApplication引导我们的应用程序,启动Spring,这反过来又启动了自动配置的Tomcat Web服务器。
@SpringBootApplication
@RestController
public class DemoApplication {
@RequestMapping("/hello")
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
方式三、IDEA 向导创建
运行示例
打开Web浏览器到http://localhost:8080/hello,则应该看到以下输出:
创建一个可执行的jar
通过创建一个可以在生产环境中运行的完全独立的可执行jar文件来结束示例。
要创建可执行jar,我们需要将添加spring-boot-maven-plugin到pom.xml。为此,请在该dependencies部分下方插入以下行:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
从命令行运行mvn package,如下所示:
如果查看target目录,则应该看到sbdemo-0.0.1-SNAPSHOT.jar。该文件的大小应为18.5 MB左右。如果您想窥视内部,可以使用jar tvf,如下所示:
要运行该应用程序,请使用以下java -jar命令:
java -jar sbdemo-0.0.1-SNAPSHOT.jar
1.通过IDE创建Spring Boot项目
2.目录结构
3.新建TestController控制器
@Controller
public class TestController {
@RequestMapping("/test")
public ModelAndView test(@RequestParam(name = "name", defaultValue = "刘德华") String name){
ModelAndView mv = new ModelAndView();
mv.addObject("name", name);
mv.setViewName("test");
return mv;
}
}
4.新建/resources/templates/test.ftlh模板文件
<html>
<body>
<h1>页面参数: ${name}</h1>
</body>
</html>