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.运行项目

相关推荐
救救孩子把10 分钟前
深入理解 Java 对象的内存布局
java
落落落sss13 分钟前
MybatisPlus
android·java·开发语言·spring·tomcat·rabbitmq·mybatis
万物皆字节18 分钟前
maven指定模块快速打包idea插件Quick Maven Package
java
夜雨翦春韭25 分钟前
【代码随想录Day30】贪心算法Part04
java·数据结构·算法·leetcode·贪心算法
我行我素,向往自由32 分钟前
速成java记录(上)
java·速成
一直学习永不止步38 分钟前
LeetCode题练习与总结:H 指数--274
java·数据结构·算法·leetcode·数组·排序·计数排序
邵泽明38 分钟前
面试知识储备-多线程
java·面试·职场和发展
Yvemil71 小时前
MQ 架构设计原理与消息中间件详解(二)
开发语言·后端·ruby
程序员是干活的1 小时前
私家车开车回家过节会发生什么事情
java·开发语言·软件构建·1024程序员节
煸橙干儿~~1 小时前
分析JS Crash(进程崩溃)
java·前端·javascript