SpringBoot部署及代码演示

2019-11-24  本文已影响0人  喵星人ZC

一、环境及版本
SpringBoot版本:2.1.4
JDK:1.8
Maven:3.3.9

二、IDEA的POM依赖

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>

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

三、简单的Hello代码
1、SpringBoot的引导类编写(入口)

package com.soul.java.springboot;

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

@SpringBootApplication
public class HelloSpringApplication {
    public static void main(String[] args) {
        SpringApplication.run(HelloSpringApplication.class);
    }
}

2、Hello Controller

package com.soul.java.springboot;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {
        return "Hello Spring Boot";
    }
}

3、启动引导类进行Web访问


image.png

三、查看@SpringBootApplication注解的源码
@SpringBootApplication由以下三个注解组成

在@AutoConfigurationPackage注解中会根据引导类(标注了@SpringBootApplication的类 )往上找到包名,然后SpringBoot会去加载此包名下的Controller等信息。如果Controller不是写在此包下面,会访问不到。

我们在AutoConfigurationPackages.java的129行打上断点


image.png

然后Debug模式运行,鼠标选中以下代码,右键选择Evaluate Expression

new PackageImport(metadata).getPackageName()
image.png

最后选择计算(Evaluate)会得到包名


image.png

我们所有的SpringBoot代码必须写在此包名下,否则会识别不到!

上一篇下一篇

猜你喜欢

热点阅读