Spring Boot项目的创建与使用

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配置

XML 复制代码
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.7</version>
</parent>

添加依赖

XML 复制代码
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

编写代码

java 复制代码
@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服务器。

java 复制代码
@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部分下方插入以下行:

XML 复制代码
<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 复制代码
java -jar sbdemo-0.0.1-SNAPSHOT.jar

1.通过IDE创建Spring Boot项目

2.目录结构

3.新建TestController控制器

java 复制代码
@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 复制代码
<html>

<body>
    <h1>页面参数: ${name}</h1>
</body>

</html>

5.运行项目

相关推荐
&白帝&8 分钟前
JAVA JDK7时间相关类
java·开发语言·python
2301_8187320611 分钟前
用layui表单,前端页面的样式正常显示,但是表格内无数据显示(数据库连接和获取数据无问题)——已经解决
java·前端·javascript·前端框架·layui·intellij idea
狄加山67519 分钟前
系统编程(线程互斥)
java·开发语言
星迹日19 分钟前
数据结构:二叉树—面试题(二)
java·数据结构·笔记·二叉树·面试题
组合缺一20 分钟前
solon-flow 你好世界!
java·solon·oneflow
HHhha.30 分钟前
JVM深入学习(二)
java·jvm
杰九42 分钟前
【全栈】SprintBoot+vue3迷你商城(10)
开发语言·前端·javascript·vue.js·spring boot
叩叮ING1 小时前
正则表达式中常见的贪婪词
java·服务器·正则表达式
组合缺一1 小时前
Solon Cloud Gateway 开发:熟悉 Completable 响应式接口
java·gateway·reactor·solon
组合缺一1 小时前
Solon Cloud Gateway 开发:Route 的配置与注册方式
java·gateway·reactor·solon