Spring Boot DAY01 Hello world

  目录

1.什么是Spring Boot

2.环境配置

2.1. 环境准备

2.2. 这里我们直接用IDEA创建项目了(另一种是去官网上去下载,这里就不说了)

3. 项目结构的分析

3.1、程序的主启动类(程序的入口)

3.2、一个 application.properties 配置文件

3.3、一个 测试类

3.4、一个 pom.xml

4.第一个程序(经典Hello World)

4.1,建立controller包

4.2、 在controller包下建立一个类

4.3、测试

4.4 通过jar包来启动程序

4.4.1 打成jar包

5.彩蛋


1.什么是Spring Boot

  就是一个JavaWeb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置,you can "just run" ,能够快速的开发web应用,几行代码就可以开发一个http接口。

  所有的框架都是遵循了一条规律:为了应对各种复杂的场景和需求,衍生了一种规范的框架,人们只需要进行各种配置而不需要去实现它,这些强大的配置就成为了这些框架的优点,像我们学过的Spring、、Mybatis、SpringMVC、ssm框架的整合都是在配置一些功能,这些框架能够是我们的开更灵活,也能提高开发效率。

  但是,我们在学完ssm框架的整合就会发现虽然框架整合了前后端,但是我们要一直配置功能,这些配置文件比较繁琐。如果项目比较大,进行配置会使会使我们非常头大,这也违背了框架的最初理念,于是就开始提倡"约定大于配置",Spring Boot 正是在这样的一个背景下被抽象出来的开发框架,目的为了让大家更容易的使用 Spring 、更容易的集成各种常用的中间件、开源软件。

  Spring框架是基于Spring,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。

  简单来说,Spring Boot就是默认配置了很多框架的使用方式,就是maven整合了所有的jar包,Spring Boot整合了所有的框架。

Spring Boot的主要优点:

  • 为所有Spring开发者更快的入门

  • 开箱即用,提供各种默认配置来简化项目配置

  • 内嵌式容器简化Web项目

  • 没有冗余代码生成和XML配置的要求

真的很爽,我们快速去体验开发个接口的感觉吧!MD,打字是真不爽!!!

2.环境配置

2.1. 环境准备

  • java version "1.8"

  • Maven

  • SpringBoot 2.x 最新版

工具:IDEA

2.2. 这里我们直接用IDEA创建项目了(另一种是去官网上去下载,这里就不说了)

2.2.1. 首先在IDEA中新建项目,然后选择Spring Initializr,这里注意我的JDK(Project SDK)是1.8,其支持的最高java版本是8,如果选择其他java版本会报错。使用时注意一下自己JDK的版本来选择

合适的java version。然后下一步

 2.2.2. 我们要创建一个 Web项目 选择Sping Web 。完成

 2.2.3. 完成后会出现下面的样子

 这时maven会给我们下载很多jar包,这个项目的配置也都默认给配置完成

3. 项目结构的分析

通过上面步骤完成了基础项目的创建。就会自动生成以下文件。

3.1、程序的主启动类(程序的入口)

3.2、一个 application.properties 配置文件

配置文件可以配置端口号等(目前只知道端口号,后续知道还有啥会说的)

比如在配置文件下配置:

server.port=8081

这时tomcat的默认端口号8080就会变为8081

3.3、一个 测试类

3.4、一个 pom.xml

<!-- 父依赖 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath/>
</parent>

<dependencies>
    <!-- web场景启动器 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- springboot单元测试 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <!-- 剔除依赖 -->
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

<build>
    <plugins>
        <!-- 打包插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

其实这和之前的Maven项目的结构是几乎一样的,然后还照着那样建包就完事了

4.第一个程序(经典Hello World)

4.1,建立controller包

在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到,也就是在springboot那个包下建立

4.2、 在controller包下建立一个类

package com.example.springboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class fcontroller {
    @RequestMapping("/hello")
    public String first(){
        return "hello world";
    }
}

使用@RestController注解可以不用再跳转视图了

@RestController和@Controller

1.@Controller

1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
    如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

 2.@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

4.3、测试

编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号!

 就这简单的几部就完成了构建,如果是Spring MVC我们要配置web.xml、视图、扫描包,写jsp页面、controller类。现在,我们只需要写个Controller就行了,是不是很便利。

4.4 通过jar包来启动程序

我们可以上面的程序打成jar包,然后在通过shell命令打开程序

4.4.1 打成jar包

建议先clean再package,耐心一下,时间可能会有点长

完成后项目会出现jar包,这样就打包成功了

 4.4.1 启动

可以jar包所在的文件夹内打开Powershell窗口(在所在的文件夹内按着shift点鼠标右键就可以见Powershell窗口选项),然后输入以下指令,启动程序,成功页面就是这样

 这时我们在浏览器中输入localhost:8080/hello,也会输出hello world,我们就不必打开idea来启动程序了。

5.彩蛋

更改启动时显示的字符拼成的字母SpringBoot  也就是 banner 图案

只需一步:到项目下的 resources 目录下新建一个banner.txt 即可。

图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可,里面有很多图案,这个虽然没啥用,但是可以用来装B (手动狗头)。

我用的是悟空的图案:

另外可以看一篇关于微服务的博客,SpringBoot好像就属于微服务:什么是微服务_wuxiaobingandbob的专栏-CSDN博客_微服务

打字真累,老打错,淦!!!!

2021/12/22  21:02

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值