【Sping Boot2】笔记

news2024/10/6 6:55:43

Spring Boot 2入门

  • 如何创建一个Spring Boot的Web例子?
    • 1.如何创建一个Spring Boot项目
      • 1.1 使用Maven构建一个Spring Boot 2项目
      • 1.1.1创建Maven工程
          • 注:Maven项目结构:
        • 1.1.2引入SpingBoot相关依赖依赖
          • 注意事项:
        • 1.1.3创建主类
        • 1.1.4编写业务类
        • 1.1.5运行测试
          • 服务端:
          • 浏览器:
          • 更改端口号
    • 2.使用Spring Initializr创建一个Spring Boot项目
      • 2.1创建项目
      • 2.2编写业务类
      • 2.3测试
    • 思考

如何创建一个Spring Boot的Web例子?

1.如何创建一个Spring Boot项目

功能:浏览器发送/hello请求,响应 Hello,Spring Boot 2 在页面上

1.1 使用Maven构建一个Spring Boot 2项目

1.1.1创建Maven工程

  • New Project—>

    • Name:项目名【自定义】
    • Loaction:项目存放位置【自己选】
    • Language:编程语言【Java】
    • Buid system:构建器【Maven】
    • JDK:选择jdk1.8及其以上
    • GroupId:包名
    • ArtifactId:项目名
  • —>Create

在这里插入图片描述

注:Maven项目结构:

hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨    丨—java【存放源码】
丨    丨—resources【存放静态资源】
丨    丨—test【测试模块】
丨— pom.xml【maven配置文件】

在这里插入图片描述

1.1.2引入SpingBoot相关依赖依赖

在pom.xml文件中,加上spring-boot-starter-parent父工程和spring-boot-starter-web依赖

	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

导入依赖后按刷新按钮来导入依赖,两个按钮效果一样
在这里插入图片描述

注意事项:

想要使用SpringBoot 2对Maven版本和Java具有要求
Maven版本大于3.5+
Javav版本jdk8及其以上
详情见:
SpingBoot官网–>Getting Started

1.1.3创建主类

在/src/main/java/下创建主类

package com.jiekki.boot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * 主程序类
 * @SpringBootApplication:这是一个SpringBoot应用
 */
@SpringBootApplication
public class MainApplication {
	public static void main(String[] args) {
		SpringApplication.run(MainApplication.class,args);
	}
}
1.1.4编写业务类
package com.jiekki.boot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@ResponseBody
@Controller
public class HelloController {
	@RequestMapping("/hello")
	public String hello(){
		return "你好SpringBoot!";
	}
}

hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨    丨—java【存放源码】
丨        丨—com.jiekki.boot
丨            丨—controller
丨                丨—HelloController.java
丨            丨—MainApplication.java
丨    丨—resources【存放静态资源】
丨    丨—test【测试模块】
丨— pom.xml【maven配置文件】

1.1.5运行测试
服务端:

直接运行main方法
在这里插入图片描述

浏览器:

浏览器输入:localhost:8080/hello
在这里插入图片描述

更改端口号

在recources文件夹下新建application.properties,使用server.port=8088更改端口号
hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨    丨—java【存放源码】
丨        丨—com.jiekki.boot
丨            丨—controller
丨                丨—HelloController.java
丨            丨—MainApplication.java
丨    丨—resources【存放静态资源】
丨        丨—application.properties
丨    丨—test【测试模块】
丨— pom.xml【maven配置文件】

application.properties中的内容

#端口号默认值8080,更改为8088
server.port=8088

端口号修改后
后端: 重启项目,
浏览器: 重新发送请求localhost:8088/hello

在这里插入图片描述

2.使用Spring Initializr创建一个Spring Boot项目

项目名为myspringbootweb的web项目,功能:浏览器发送/hello请求,响应 Hello,Spring Boot 2 在页面上

2.1创建项目

创建步骤:

  • Spring Initializr—>
    • Name:项目名【自定义】
    • Loaction:项目存放位置【自己选】
    • Language:编程语言【Java】
    • Type:构建器【Maven】
    • GroupId:包名
    • ArtifactId:项目名
    • JDK:选择jdk1.8及其以上
  • —>next

在这里插入图片描述
选择需要添加的模块,本例是Web项目,所以选择Web中的Spring Web
—>Create
等待项目构建完毕
在这里插入图片描述
项目创建好了,可以发现跟我们手动用Maven导入Sring Boot依赖的方式创建的项目基本一致
Spring Boot脚手架帮我们自动创建了包文件夹和主类MyspringbootwebApplication.java
在这里插入图片描述

2.2编写业务类

package com.jiekki.boot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@ResponseBody
@Controller
public class HelloController {
	@RequestMapping("/hello")
	public String hello(){
		return "你好SpringBoot!";
	}
}

2.3测试

**后端:**启动项目
在这里插入图片描述
**浏览器:**发送请求localhost:8080/hello
在这里插入图片描述
发现使用Spring Initializr创建Spring Boot更方便

思考

学习过Maven,应该知道依赖是可以继承的,因为我们的项目中选择
spring-boot-starter-parent作为父工程,那么父工程引入的依赖会被我们的项目继承,如果根据需要在我们项目pom.xml不如额外的定义依赖版本,那么引入的依赖会与父项目中引入的依赖版本保持一致

	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

在这里插入图片描述

<?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>3.2.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.jiekki</groupId>
    <artifactId>myspringbootweb</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>myspringbootweb</name>
    <description>myspringbootweb</description>
    <url/>
    <licenses>
        <license/>
    </licenses>
    <developers>
        <developer/>
    </developers>
    <scm>
        <connection/>
        <developerConnection/>
        <tag/>
        <url/>
    </scm>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </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>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1895661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis框架的集成使用

1_框架概述 框架是一个半成品&#xff0c;已经对基础的代码进行了封装并提供相应的API&#xff0c;开发者在使用框架时直接调用封装好的api可以省去很多代码编写&#xff0c;从而提高工作效率和开发速度,框架是一种经过校验、具有一定功能的半成品软件. 经过校验&#xff1a;指…

Python酷库之旅-第三方库Pandas(002)

目录 一、用法精讲 1、pandas.read_pickle函数 1-1、语法 1-2、参数 1-3、功能 1-4、返回值 1-5、说明 1-6、用法 1-6-1、代码示例 1-6-2、结果输出 2、pandas.DataFrame.to_pickle方法 2-1、语法 2-2、参数 2-3、功能 2-4、返回值 2-5、说明 2-5-1、文件路径…

MacOS下更新curl

苹果自带的curl不支持Https&#xff0c;我们可以通过curl -V看到如下结果 curl 7.72.0 (x86_64-apple-darwin18.6.0) libcurl/7.72.0 zlib/1.2.12 libidn2/2.3.7 librtmp/2.3 Release-Date: 2020-08-19 Protocols: dict file ftp gopher http imap ldap ldaps pop3 rtmp rtsp …

python 发布应用程序包

文章目录 发布python包toml配置文件构建发布python包 官方文档参考 将自己的python项目发布成源码包或者wheel二进制包,供其他开发者使用。 方式: 使用py工具; distutils,该工具的使用已过时;setuptools,常用方式;wheel,在setuptools的基础上添加了 bdist_wheel, …

量产工具一一UI系统(四)

前言 前面我们实现了显示系统框架&#xff0c;输入系统框架和文字系统框架&#xff0c;链接&#xff1a; 量产工具一一显示系统&#xff08;一&#xff09;-CSDN博客量产工具一一输入系统&#xff08;二&#xff09;-CSDN博客量产工具一一文字系统&#xff08;三&#xff09;…

不到 5 元的随身 WiFi 刷 Debian 系统 做轻量家庭服务器

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 前不久在某宝均价 5 元买了两个随身 WiFi,拆机看了看丝印都是 MSM8916 ,正好是红米 2 同款的骁龙 410 的芯片,可以刷个 Debian 当作家庭服务器来跑一些轻量的服务。 不过手气不是很好,两个都是 512M + 4G 的配置…

快手矩阵系统源码:构建高效短视频生态的引擎

在短视频内容创作和管理领域&#xff0c;快手矩阵系统源码提供了一套全面的解决方案&#xff0c;帮助用户和企业高效地构建和管理自己的短视频平台。本文将深入探讨快手矩阵系统源码的核心功能&#xff0c;以及它如何助力用户在短视频领域取得成功。 快手矩阵系统源码概述 快…

【图书推荐】《HTML5+CSS3 Web前端开发与实例教程(微课视频版)》

本书用来干什么 详解HTML5、CSS3、Flex布局、Grid布局、AI技巧&#xff0c;通过两个网站设计案例提升Web前端开发技能&#xff0c;为读者深入学习Web前端开发打下牢固的基础。 配套资源非常齐全&#xff0c;可以当Web前端基础课的教材。 内容简介 本书秉承“思政引领&#…

后台管理系统日志管理模块的实现

一、日志管理系统 1.1目标效果图 1.2创建日志表&#xff0c;和对应的实体类 Data public class SysLog implements Serializable {private static final long serialVersionUID 1123526L;private Integer id;private String module;private String content;private Integer c…

Android C++系列:JNI中的Handler--ALooper

1. Android Handler回顾 在Android中,UI线程是一个很重要的概念。我们在日常开发中对UI的更新和一些系统行为,都必须在UI线程(主线程)中进行调用。我们在子线程更新UI时最常用的手段就是Handler,Handler的主要原理: 主要是有一个Looper不停的从队列读消息,子线程通过持有…

Redis-Redis可视化工具Redis Insight下载及安装

下载 1、博主已经上传资源&#xff0c;点此下载 2、点此进入官方下载 2.1 点击Installing Redis Insight 2.2 点击Install on desktop 2.3 选择Install on desktop&#xff0c;点击Redis Insight is available for download for free from this web site从网站下载 2.4 下载…

Anaconda+Pycharm两个软件从头到尾下载流程

前言&#xff1a; 1、使用教程前&#xff0c;请将电脑上的所有的Python卸载掉。再下载Anaconda&#xff0c;Anaconda这个软件里面就含有python。 彻底删除python方法&#xff1a; 1、计算机——属性——高级系统设置——环境变量 2、查看电脑用户自己设计的环境变量&#x…

FileZilla的安装和使用(快速上手版)

下载 登陆官网下载下载 - FileZilla中文网 服务端 我们选择一个中文安装最新版本下载 客户端 我们选择绿色免安装版进行下载 安装 安装服务端 双击运行下载好的服务端安装包 点击 我接受 点击 下一步 设置好安装路径&#xff0c;点击 下一步 这里默认即可&#xff0c;点击…

昇思25天学习打卡营第16天|文本解码原理——以MindNLP为例

在大模型中&#xff0c;文本解码通常是指在自然语言处理&#xff08;NLP&#xff09;任务中使用的大型神经网络模型&#xff08;如Transformer架构的模型&#xff09;将编码后的文本数据转换回可读的原始文本的过程。这些模型在处理自然语言时&#xff0c;首先将输入文本&#…

Understanding Zero Knowledge Proofs (ZKP)

Bilingual Tutorial: Understanding Zero Knowledge Proofs (ZKP) 双语教程&#xff1a;理解零知识证明&#xff08;ZKP&#xff09; Introduction 介绍 English: Zero Knowledge Proofs (ZKP) are a fascinating concept in cryptography where one party (the prover) can…

java项目自定义打印日志,打印请求方式,参数用时等

1.相关依赖 <!-- 私人工具包 --><dependency><groupId>cn.changeforyou</groupId><artifactId>location</artifactId><version>1.13-SNAPSHOT</version></dependency><!-- hutool工具依赖 --><dependency>…

六大Pixel新AI功能提升使用体验

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

探索如何赋予对象迭代魔法,轻松实现非传统解构赋值的艺术

前言 今天下午在网上冲浪过程中看到这样一个问题 面试题&#xff1a;如何让 var [a, b] {a: 1, b: 2} 解构赋值成功&#xff1f; 据说是某大厂面试题&#xff0c;于是我学习了一下这个问题&#xff0c;写下这篇文章记录一下。 学习过程 要想解决这个问题首先要知道什么是解…

nginx安装升级修复HTTP头信息泄露Nginx版本信息漏洞(并保持https配置)

文章目录 1. 准备工作2. 修改web服务器所使用的nginx的名称和版本信息2.1 修改以下三个文件&#xff1a;(1) src/core目录下的nginx.h文件(2) src/http目录下的ngx_http_header_filter_module.c文件(3) src/http目录下的ngx_http_special_response.c文件 2.2 重新编译nginx2.3 …

Spring框架的学习前言

1.注意事项 1.在接下来的学习中我们会将jdk的版本升级到17。 2.引入maven仓库用来存储依赖 3.在后面的javaSpring框架中要第一个项目的创建要选javaweb和lombook这两个依赖 2.Maven的主要功能 &#xff08;1&#xff09;maven的主要功能是引入依赖和管理依赖&#xff0c;在…