美文网首页
SpringBoot部署及代码演示

SpringBoot部署及代码演示

作者: 喵星人ZC | 来源:发表于2019-11-24 22:56 被阅读0次

    一、环境及版本
    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由以下三个注解组成

    • @SpringBootConfiguration 配置项
      • @Configuration
    • @EnableAutoConfiguration 自动配置
      • @AutoConfigurationPackage 自动配置包
    • @ComponentScan 组件扫描

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

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


    image.png

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

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

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


    image.png

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

    相关文章

      网友评论

          本文标题:SpringBoot部署及代码演示

          本文链接:https://www.haomeiwen.com/subject/apmrwctx.html