【Sping Boot2】笔记

news/2024/7/7 20:40:05 标签: 笔记

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.niftyadmin.cn/n/5535263.html

相关文章

mybatis mapper.xml 比较运算符(大于|小于|等于)的写法: 转义和<![CDATA[]]>

文章目录 引言I 使用xml 原生转义的方式进行转义II 使用 <![CDATA[ 内容 ]]>引言 应用场景:查询时间范围 背景:在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突 <![CDATA[]]> 比 转义符 来的繁琐 <![CDATA[]]> 表示xml解析器忽略…

【计算机网络】网络层(作业)

【一】 1、某主机的 IP 地址为 166.199.99.96/19。若该主机向其所在网络发送广播 IP 数据报&#xff0c; 则目的地址可以是&#xff08;D&#xff09;。 A. 166.199.99.255B. 166.199.96.255C. 166.199.96.0D. 166.199.127.255 解析&#xff1a; 166.199.99.96/19166.199.0…

gcc: warning: -Wunused-function;加了选项,为什么就不报警告呢?

文章目录 问题clang的编译而使用gcc是就不报问题分析原因如果是非static的函数问题 下面这个代码段,其中这个函数hton_ext_2byte,在整个程序里就没有使用。 static inline uint16_t hton_ext_2byte(uint8_t **p) {uint16_t v;******return v;

vue动态组件与插件到底是什么?

background: yellow; } 子组件1 <ul><li v-for"item of items" :key"item"><input type"checkbox" />{{ item }}</li></ul>子组件2 PostMail 子组件3 RecycleBin ![在这里插入图片描述](https://img-blog.csdni…

SherlockChain:基于高级AI实现的智能合约安全分析框架

关于SherlockChain SherlockChain是一款功能强大的智能合约安全分析框架&#xff0c;该工具整合了Slither工具&#xff08;一款针对智能合约的安全工具&#xff09;的功能&#xff0c;并引入了高级人工智能模型&#xff0c;旨在辅助广大研究人员针对Solidity、Vyper和Plutus智…

新公司法之外部董事

7月1日&#xff0c;修订后的《中华人民共和国公司法》&#xff08;以下简称“新公司法”&#xff09;将正式实施。相较于现行公司法&#xff0c;新公司法对公司的资本制度、公司治理、董监高责任、分红减资、股权转让、股东权利等将产生重大影响。 新《公司法》之外部董事过半…

nginx的LNMP构建+discuz论坛

一、LNMP&#xff1a; L&#xff1a;linux 操作系统 N&#xff1a;nginx前端页面的web服务 P&#xff1a;PHP&#xff0c;是一种开发动态页面的编程语言&#xff0c;解析动态页面&#xff0c;起到中间件的作用&#xff08;在nginx和数据库的中间&#xff09;&#xff0c;在中…

C#知识|项目的实施过程及通用三级架构的搭建笔记

哈喽,你好啊,我是雷工! 01 项目需求分析 根据与需求方沟通,分析需求,一般都有需求分析师来进行项目需求收集与分析。 根据需求文档进行项目功能设计。 02 框架的选择 ①小项目可以根据需求选择两层或三层结构。 ②中型大型项目,至少需要三层架构和其他架构的组合。 03 框…