码迷,mamicode.com
首页 > 编程语言 > 详细

springboot学习入门简易版三---springboot2.0启动方式

时间:2019-05-12 13:55:59      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:line   not   tco   hub   image   java代码   run   can   main函数   

2.4使用@componentscan方式启动

2.4.1 @EnableAutoConfiguration 默认只扫描当前类

@EnableAutoConfiguration 默认只扫描当前类,如果再新建一个indexcontroller类,将无法被扫描。

 

新建indexcontroller类:

 

/**

 

 * 测试index类

 

 * @author admin

 

 *

 

 */

 

@RestController

 

public class IndexController {

 

 

 

@RequestMapping("/index")

 

public String index() {

 

return "index info";

 

}

 

}

 

 

 

启动TestController类中的main函数,首先访问http://localhost:8080/test

 

没有问题,再访问http://localhost:8080/index

 

报错信息如下:

 

Whitelabel Error Page

 

This application has no explicit mapping for /error, so you are seeing this as a fallback.

 

Sun Apr 14 22:25:20 CST 2019

 

There was an unexpected error (type=Not Found, status=404).

 

No message available

 

2.4.2 @ComponentScan指定扫描范围(7

为了方便维护和规范化,将启动类和controller类分离开,新建一个IndexController类。启动类修改如下:

//@RestController
//@SpringBootApplication //或使用@EnableAutoConfiguration配置
@EnableAutoConfiguration //自动配置,根据pom文件引入的依赖信息,自动配置对应的组件;扫包范围,默认在当前类中
@ComponentScan("com.springboot2demo") //指定扫描范围
public class FirstApplication {

    /**
     * 程序入口
     *  SpringApplication.run 相当于java代码创建内置tomcat,加载springmvc注解启动
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(FirstApplication.class, args);
    }

}

IndexController为:

/**
 * 仅 @EnableAutoConfiguration注解方式下启动(默认只扫描当前类),/index 访问报错
 * @author admin
 */
@RestController
public class IndexController {

    @RequestMapping("/index")
    public String index() {
        return "index info";
    }
    
    @RequestMapping("/test")
    public String test(){
        return "springboot2.0 first application";
    }

}

启动springboot启动类

 访问http://localhost:8080/index 成功返回:index info 

访问http://localhost:8080/test成功返回:springboot2.0 first application

 

 

2.4.3 @SpringBootApplication方式启动(8

 

1多个controller包的@componentscan多包扫描

 

技术图片

FirstController类:

@RestController
public class FirstController {

    @RequestMapping("/firstIndex")
    public String index() {
        return "firstIndex info";
    }
    
}

SecondController类:

@RestController
public class SecondController {

    @RequestMapping("/secondIndex")
    public String index() {
        return "secondIndex info";
    }
    
}

启动类修改为:

//@RestController
//@SpringBootApplication //或使用@EnableAutoConfiguration配置
@EnableAutoConfiguration //自动配置,根据pom文件引入的依赖信息,自动配置对应的组件;扫包范围,默认在当前类中
//@ComponentScan("com.springboot2demo") //指定扫描范围
@ComponentScan(basePackages= {"com.springboot2demo.first","com.springboot2demo.second"}) //多包扫描
public class FirstApplication {

 

2 @SpringbootApplication注解启动

等同于@EnableAutoConfiguation+@ComponentScan

且扫描范围默认为类所在当前包下所有包(包括子包)

在原有代码基础上修改启动类

//@RestController
//@EnableAutoConfiguration //自动配置,根据pom文件引入的依赖信息,自动配置对应的组件;扫包范围,默认在当前类中
//@ComponentScan("com.springboot2demo") //指定扫描范围
//@ComponentScan(basePackages= {"com.springboot2demo.first","com.springboot2demo.second"}) //多包扫描
@SpringBootApplication //或使用@EnableAutoConfiguration+@ComponentScan配置
public class FirstApplication {

 

git代码:https://github.com/cslj2013/-springboot2.0_first_demo.git

 

springboot学习入门简易版三---springboot2.0启动方式

标签:line   not   tco   hub   image   java代码   run   can   main函数   

原文地址:https://www.cnblogs.com/cslj2013/p/10851933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!