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

时间:2023-02-12 14:59:17

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多包扫描

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

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启动方式的更多相关文章

  1. springboot学习入门简易版二---springboot2.0项目创建

    2 springboot项目创建(5) 环境要求:jdk1.8+ 项目结构: 2.1创建maven工程 Group id :com.springbootdemo Artifact id: spring ...

  2. springboot学习入门简易版八---springboot2.0多环境配置、整合mybatis mysql8+(19-20)

    2.11 SpringBoot多环境配置(19)  application.properties中配置 Spring.profiles.active=prd 配置环境: Application-dev ...

  3. springboot学习入门简易版六---springboot2.0整合全局捕获异常及log4j日志(12-13)

    使用Aop实现 1创建异常请求 在原有项目基础上,jspController中创建一个可能发生异常的请求: /** * 全局捕获异常测试 * @param i * @return */ @Reques ...

  4. springboot学习入门简易版五---springboot2.0整合jsp(11)

    springboot对jsp支持不友好,内部tomcat对jsp不支持,需要使用外部tomcat,且必须打包为war包. 1 创建maven项目 注意:必须为war类型,否则找不到页面. 且不要把js ...

  5. springboot学习入门简易版九---springboot2.0整合多数据源mybatis mysql8+(22)

    一个项目中配置多个数据源(链接不同库jdbc),无限大,具体多少根据内存大小 项目中多数据源如何划分:分包名(业务)或注解方式.分包名方式类似多个不同的jar,同业务需求放一个包中. 分包方式配置多数 ...

  6. springboot学习入门简易版四---springboot2.0静态资源访问及整合freemarker视图层

    2.4.4 SpringBoot静态资源访问(9) Springboot默认提供静态资源目录位置需放在classpath下,目录名需要符合如下规则 /static  /public  /resourc ...

  7. springboot学习入门简易版一---springboot2.0介绍

    1.1为什么用springboot(2) 传统项目,整合ssm或ssh,配置文件,jar冲突,整合麻烦.Tomcat容器加载web.xml配置内容 springboot完全采用注解化(使用注解方式启动 ...

  8. springboot学习入门简易版七---springboot2.0使用@Async异步执行方法(17)

    1启动类开启异步调用注解 @SpringBootApplication @EnableAsync //开启异步调用 public class StartApplication { 不开启则异步调用无效 ...

  9. springboot学习笔记:6.内置tomcat启动和外部tomcat部署总结

    springboot的web项目的启动主要分为: 一.使用内置tomcat启动 启动方式: 1.IDEA中main函数启动 2.mvn springboot-run 命令 3.java -jar XX ...

随机推荐

  1. 第三章 centos安装git

    yum install git 安装后的默认存放地点/usr/bin/git

  2. Fire!(BFS)

    Fire! Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Descr ...

  3. POJ2263 Heavy Cargo

    Heavy Cargo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4004   Accepted: 2124 Descr ...

  4. 使用shape设置只有部分边框有颜色

    <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android=" ...

  5. linux select 学习

    一.select介绍 函数原型: #include <sys/select.h> int select(int maxfdp1, fd_set *restrict readfds, fd_ ...

  6. 算法导论:Trie字典树

    1. 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. Trie一词来自retrieve,发音为/tr ...

  7. Unable to find the ncurses libraries的解决办法

    我们在更新CentOS或者Ubuntu的内核时,执行make menuconfig可能看如这样的错误: *** Unable to find the ncurses libraries or the* ...

  8. 【PS技巧】如何校正倾斜的图片

    1.打开PS,直接拖拽图片. 2.点击[滤镜==>扭曲==>镜头校正],出现校正对话框. 3.点击拉直工具,从右向左滑一条直线. 参考文档: 在Photoshop中如何校正倾斜的图片?

  9. 你应该要知道的vue&period;js

    前言 小组同事最近都在学习前端,目前我们小组前端技术栈主要是vue.在和同事交流过程成,发现他们对vue都不了解,所以整理了问的比较多的问题. 组件data为什么必须是函数? 因为组件可能被多处使用, ...

  10. SpringMVC4返回json

    前言 目前前后端分离后,接口大多数返回给前端的都是json数据,那么我尝试用SpringMVC4的Controller返回json.demo过程中遇到了几个问题写出来和java初学者分享一下. 开发环 ...