Live2D
复制代码

03-SpringBoot第一个项目

第一个Springboot应用程序

使用JDK1.8、Maven3.3.6、SpringBoot2最新版

有两种创建Springboot的方式:

第一种:Spring官方提供了一个快速生成的网站

  1. 进入Spring的官网spring.io,找到Springboot框架,可以看到最新的稳定版本为2.4.3,在OVERVIEW的最下面可以看到Quickstart Your Project,点击Spring Initializr

  2. 然后进入项目创建页面,具体操作如下


  3. 将下载的项目解压

  4. 打开idea,创建一个空工程idea-springboot,然后在将该项目导入到该工程中,导入后会自动下载pom文件中的很多依赖,耗时会长一些,因为这些都会帮助我们配置很多东西。然后把一些多余的文件删掉

  5. 项目中的整个结构如下

    ASpringbootHelloworldApplication内容如下

    package com.studymyself;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    //程序的主入口,不能删除也不能修改
    @SpringBootApplication
    public class ASpringbootHelloworldApplication {
    
    	//SpringApplication
    	public static void main(String[] args) {
    		SpringApplication.run(ASpringbootHelloworldApplication.class, args);
    	}
    
    }
    
    
  6. 其中ASpringbootHelloworldApplication类中是一个主方法,不能删也不能改。我们要创建的存储dao接口、存储service接口和其实现类、以及Controller类的dao、service、controller包必须和这个主类在同一级,不然项目不能正常工作 ,因为规定是这样,不按约定就没法识别,约定大于配置。其中的application.properties文件是Springboot的核心配置文件,但是我们常用的是yaml格式的配置文件。而test目录下有一个默认的测试类,用来测试的

  7. 直接运行主方法,可以看到其中有Tomcat启动的信息,我们直接输入localhost:8080回车,得到如下页面,默认跳转到/error的一个静态页面

  1. 在Application主方法类的同级目录中创建一个controller包,其中创建一个Controller类MyController

    package com.studymyself.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @RestController:
     *  该注解放在类上,具有@Controller和@ResponseBody注解的功能
     *  表示这个类是一个控制器
     *  然后表示这个控制器中的所有方法返回String类型时都是返回字符串,而不是视图
     *  而这两个分开,@ResponseBody就指定某一个控制器方法返回String时是返回字符串而不是视图
     */
    @RestController
    public class MyController {
    
        @RequestMapping("/hello")
        public String hello(){
            
    		//调用业务,接收前端参数
            return "Hello SpringBoot!!!";
    
        }
    
    }
    
    

    添加完成后重启,输入http://localhost:8080/hello,就可以访问这个资源了。

  2. 解读pom文件。如下

    <?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标签,表示是一个父项目-->
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>2.2.5.RELEASE</version>
    		<!--下面这个标签表示的是一个远程的父项目-->
    		<relativePath/> <!-- lookup parent from repository -->
    	</parent>
    	<groupId>com.studymyself</groupId>
    	<artifactId>a-springboot-helloworld</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<name>a-springboot-helloworld</name>
    	<description>The first project for springboot</description>
    	<properties>
    		<java.version>1.8</java.version>
    	</properties>
    
    	<dependencies>
    		<!--Web依赖:包括Tomcat、DispatcherServlet、xml...都不需要我们配了
    			非常重要-->
    		<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>
    
    		<!--spring-boot-starter是所有Springboot依赖的开头
    			当我们需要导入Springboot依赖时需要这样的开头-->
    	</dependencies>
    
    	<build>
    		<plugins>
    			<!--maven的打包插件,可以不需要-->
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    			</plugin>
    		</plugins>
    	</build>
    
    </project>
    
    

    上面主要有四个部分:

    • 项目的元数据信息:创建项目时输入的Project Metadata部分,即Maven项目的基本组成:groupId、artifactId、version、name、description等
    • parent:该pom文件继承spring-boot-starter-parent的依赖管理、版本控制和打包等内容
    • dependencies:项目的具体依赖,这里包含了spring-boot-starter-web依赖,这是用于实现HTTP接口(该依赖中包含了SpringMVC的),官网对该依赖的描述:该依赖使用SpringMVC构建Web(包括Restful)应用程序的入门者,使用Tomcat作为默认的嵌入式容器(可修改)。还有一个spring-boot-starter-test是用于编写单元测试的依赖包。更多的以后项目中需要才自己导入
    • build:构建的部分。默认使用spring-boot-maven-plugin。配合spring-boot-starter-parent就可以把Springboot的应用打成jar包直接运行了
  3. 使用maven窗口,点击package,将该项目打包,

  4. 打成jar包的Springboot应用就是一个微服务,功能元素。找到该jar包的目录位置,打开dos命令窗口,直接运行该jar包,然后在浏览器测试

第二种:使用idea,如下图所示(常用)


需要注意的是在dependencies阶段我们不添加SpringWeb依赖时,启动Application主程序时,执行完了就停下了,因为没有执行Tomcat服务器,没有导入服务器,所以不能持续执行。还有就是pom依赖中我们导入Spring Web依赖时,不需要后面添加版本号,它由父依赖中的版本号控制。

Springboot中有一个叫做热部署,当我们修改了代码时,不需要重启项目也能更新代码功能。需要导入Springboot中的一个依赖

		<!--热部署:更新代码后不需要重启项目也能添加功能-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

在application.properties配置文件中修改端口号

#修改项目的端口号
server.port=8081
posted @ 2021-06-17 00:20  Milen-jie  阅读(70)  评论(0编辑  收藏  举报