springboot学习[版本2.6.2]基于官方day1-1

news/2024/5/20 3:06:03 标签: spring boot, java, gradle

springboot学习day1

  • 文档
  • 什么是SpringBoot
  • SpringBoot生产支持
  • Servlet 容器
  • quickstart使用IDEA2021
    • 目录结构
    • 相关依赖pom.xml
    • 第一个项目
      • 建立目录和类
      • 然后运行Day1Application.java
      • 访问你本机的8080端口
  • 对于@RestController and @RequestMapping 注解的解释
    • @RestController 注解
    • @RequestMapping 注解
    • 总结
    • 扩展
  • @EnableAutoConfiguration 注解
  • main方法解读
    • SpringApplication.run(Day1Application.class, args);
  • 打jar包
    • 添加配置
    • 打包
  • 使用jar tvf 查看jar包内部信息
  • 运行原始jar文件

文档

springboot2.6参考文档

什么是SpringBoot

SpringBoot是一个独立的生产级的基于Spring的应用程序,容易上手,用少的Spring配置实现更强的功能

SpringBoot生产支持

2.6.2支持Java8,并且向上兼容Java17,Spring Framework5.3.14,Maven的版本也要是3.5以上的
若使用Gradle则要6.8,6.9,7.0版本

Servlet 容器

在这里插入图片描述

quickstart使用IDEA2021

在这里插入图片描述在这里插入图片描述

目录结构

在这里插入图片描述

相关依赖pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.2</version>
        <relativePath/> <!-- lookup parent from repository -->
</parent>
//添加类路径依赖项
<dependencies>
        <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>
            <scope>test</scope>
        </dependency>
</dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
 </build>

第一个项目

建立目录和类

目录:controller
类:MyController.java

java">package com.example.day1.controller;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class MyController {

    @RequestMapping("/")
    String home(){
        return "Hello World!";
    }
}

在这里插入图片描述

java_75">然后运行Day1Application.java

java">package com.example.day1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Day1Application {

    public static void main(String[] args) {
        SpringApplication.run(Day1Application.class, args);
    }

}

在这里插入图片描述

访问你本机的8080端口

自己看一下可能不一定都是8080
在这里插入图片描述在这里插入图片描述

对于@RestController and @RequestMapping 注解的解释

@RestController 注解

Spring在处理web请求时会使用到,@RestController 告诉 Spring 将结果字符串直接呈现给调用者。

java">String home(){
        return "Hello World!";
    }

在本方法中,回调字符串就是"Hello World!",因此@RestController将这个字符串直接返回给我们。

@RequestMapping 注解

用于提供路由信息,告诉Spring只要访问到该路径的Http请求都要映射到方法中

java">@RequestMapping("/")
    String home(){
        return "Hello World!";
    }

在这里@RequestMapping的标注地址为 / ,所以任何http请求到 / 路径都会调用home()方法

总结

这两个注释进行结合,就可以达到在用户访问某个地址的后进行调用某个特定的方法,并且最后该方法的返回值会以字符串的形式进行展示给用户

扩展

后来我将String 改为int 发现如果不是使用String作为函数的返回值类型,浏览器则会以json的方式展示给用户看,当然值依然是字符串

@EnableAutoConfiguration 注解

让Spring进行自动装配
这个注解告诉 Spring Boot 根据你添加的 jar 依赖,“猜测”你想要如何配置 Spring,因为在pom.xml中有spring-boot-starter-web,这个依赖包含了Tomcat和Spring MVC,所以Spring会认为我们在开发Web应用程序,并且自动帮我们进行装配

main方法解读

SpringApplication.run(Day1Application.class, args);

该方法是程序的入口,标志着Spring应用程序使用run()方法启动执行类和args数组

打jar包

添加配置

SpringBoot允许我们直接嵌套jar
要创建一个可执行的jar,我们需要将Spring Boover Maven插件添加到我们的pom.xml
所以我们需要添加下面的配置

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

在这里插入图片描述

打包

在IDEA中打开终端输入mvn package命令

java">mvn package

如图打包成功
在这里插入图片描述打开项目目录下的target目录你就可以看到了
在这里插入图片描述

使用jar tvf 查看jar包内部信息

java">jar tvf day1-0.0.1-SNAPSHOT.jar

在这里插入图片描述

运行原始jar文件

在这里插入图片描述

java">java -jar day1-0.0.1-SNAPSHOT.jar

运行成功
在这里插入图片描述
再次访问你的本机8080端口就能看到之前在IDEA上的执行的成功的后在浏览器访问看到的内容了
在这里插入图片描述CTRL+C关闭


http://www.niftyadmin.cn/n/1717626.html

相关文章

心电图心电轴怎么计算_心电图试题练习75

心电图职称考试试题练习&#xff0c;欢迎您的参与&#xff0c;职称考试分为四科&#xff0c;分别是基础知识、相关专业知识、专业知识、专业实践能力&#xff0c;我们每篇复习4-8题&#xff0c;每科1-2题&#xff0c;朋友们可以把答案写在下面的写留言区&#xff0c;这对需要考…

springboot学习[版本2.6.2]yaml语法day1-2

yaml学习 为什么要用yamlyaml的优势语法常用类型写法字符串单引号字符串双引号字符串yaml对象1.普通写法&#xff08;推荐&#xff09;2.行内写法yaml数组1.普通写法(推荐)2. 行内写法yaml多文档结构yaml嵌套IDEA中创建yaml文件实例使用&#xff08;必看&#xff09;实例目录导…

荣耀pad支持html5吗,装上这些APP,让你的荣耀平板5锦上添花~

本帖最后由 艾玛伍兹122 于 2019-5-7 21:27 编辑2.不正经搞机社-660x200.jpg (104.36 KB, 下载次数: 3)2019-5-7 20:31 上传手拥一部荣耀平板5八英寸版&#xff0c;舒舒服服过完了五一假期。这么好的荣耀平板5&#xff0c;仅仅用来刷剧当然不够。让心爱的平板买来后除了刷剧看电…

springboot学习[版本2.6.2]静态资源,常用注解day2-1

Spring Boot静态资源放置静态资源的目录配置yaml让SpringBoot识别自建的静态资源目录当然还是推荐大家使用static作为默认静态资源存放目录自定义Favicon常用参数注解1.获取路径变量PathVariable源码&#xff1a;源码翻译&#xff08;解释&#xff09;&#xff1a;RequestMappi…

怎样整理html5标签,HTML5标签整理三

html5 标签定义和用法标签定义声音&#xff0c;比如音乐或其他音频流。实例一段简单的 html 5 音频&#xff1a;您的不支持 audio 标签。html 4.01 与 html 5 之间的差异标签是 html 5 的新标签。提示和注释提示&#xff1a;可以在开始标签和结束标签之间放置文本内容&#xff…

docker nginx 进程用户_如何更改官方docker镜像nginx的nginx进程用户?

nginx的用户(在/etc/nginx/nginx.conf中定义)是nginx.有没有办法让nginx作为www-data运行而不必扩展docker镜像&#xff1f;原因是,我有一个共享卷,由多个容器使用 – php-fpm,我作为www-data和nginx运行.共享卷中文件/目录的所有者是www-data&#xff1a;www-data和nginx访问时…

西安二本理科大学计算机专业排名,二本理科大学排名及分数线

第1篇&#xff1a;二本大学排名及分数线文科理科类全国的二本院校有很多&#xff0c;你知道他们的具体排名么?不知道的话&#xff0c;和小编一起来了解一下吧。全国共有459所二本大学参与了2017二本大学排名理科及分数线&#xff0c;其中排名第一的是深圳大学&#xff0c;排名…

容齐的身世_白发容乐真实身份是什么 原来她并不是容齐的妹妹

在电视剧《白发》中&#xff0c;容乐一醒过来就失忆了&#xff0c;虽然容齐说自己是他的妹妹&#xff0c;是西启的公主&#xff0c;但是容乐没有一点印象&#xff0c;同时容乐对容齐的话也非常怀疑&#xff0c;但是容乐的脑子一想事情就会头疼&#xff0c;所以容乐也不知道自己…