Loading

SpringBoot-HelloWorld

  • 环境

需要jdk1.8,maven,idea

maven会导入外部的库用于使用(存放在本地的仓库文件夹里)

  • 项目创建

在spring官网上可以自动生成关于maven的项目包

Group分为几个字段,例如com.companyname,前面的com叫域,后面的是你自己起的域名

Artifact一般是项目名或者模块名

最后的java包名则为com.companyname.projectname

下载完成之后可以将其放在ideal的工作区文件夹内,导入后即可识别

src/main/java 下是主程序的java代码存放处,此时包括com.companyname.projectname这一个包,里面有一个application的类文件

(application为项目的启动类,为程序的入口,注解为@SpringBootApplication)

package com.CQU.Hello;

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

@SpringBootApplication
public class HelloApplication {

    public static void main(String[] args) {

        SpringApplication.run(HelloApplication.class, args);
    }

}

 

src/main/resource 是资源文件包括图片、Css、Javascript等静态文件和配置文件yml或properties文件

src/test/java 测试代码

所有的导入外部库的详细信息出现在pom.xml这个文件夹内

dependencies标签代表了导入的外部库,通过添加子标签dependency可以添加更多的依赖(更改依赖后记得刷新)

本项目配置的依赖

(手动添加了web对应的依赖)

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <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>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

 

  • web项目的结构

通常包括应用层(controller),服务层(service),数据层(Dao),一般以项目下的包形式存在

在之前的包名之下(右键com.companyname.projectname新建)添加controller包

此时就有一个子包,在该包内添加类文件,名为projectname.controller,再其内添加java代码

package com.CQU.Hello.controller;

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

@Controller
public class HelloController {

    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
        return "hello world";
    }
}

 表示向浏览器发送/hello(实际上为localhost:8080/hello,),会得到浏览器返回的hello world

其实用的8080端口进行通信

  • 运行

运行application中main主程序,即可建立部署

向浏览器发送/hello(实际上为localhost:8080/hello,),会得到浏览器返回的hello world

  • 部署

使用spring-boot-maven-plugin(内置)可以将应用打包

具体是使用maven生命周期里面的package方法,其会在左侧target生成文件

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

 

直接在cmd中使用命令java -jar来运行,此时这个服务器就搭建起来了

  • POM文件

父项目,以后所有的导入依赖都不需要写出版本

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

 

 导入的依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

 

 spring-boot-starter为sprin-boot场景启动器

  spring-boot-starter-web导入了web模块正常运行所需要的组件

spring-boot将所有的场景功能都抽取出来,做成一个个的starter,如果需要引入什么功能,只需要引入该功能对应的启动器

  • 主程序类

对应注解@SpringBootApplication,标注在某个类上,说明这个类是主配置类,运行该main方法就可以执行应用

 

posted @ 2020-11-10 15:54  lixin2020  阅读(124)  评论(0)    收藏  举报