Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package

1、在搭建SpringBoot框架时碰到的问题。

** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.

警告:你的应用上下文可能没有启动,因为你将注解添加到了默认的package上面了。下面的堆栈信息中也有一句话包括了这个意思。

......This can also happen if you are @ComponentScanning a springframework package (e.g. if you put a @ComponentScan in the default package by mistake)。

(启动的时候还有其他的错误,这里只摘录跟这个相关的错误。)

2、我的项目结构是这样的(我将Application的文件建在了java文件夹下面)

3、原因解析

我并没有使用@ComponentScanning注解,这里为什么会蹦出个这样的注解呢?

SpringBoot在编写启动类(Main方法所在的类)的时候如果不使用@ComponentScan指明对象扫描范围,默认指扫描当前启动类所在的包里的对象。

(注意:我在编写Main方法的时候并没有加@ComponentScan注解,因而,他会扫描Application所在的包里的对象)
如果当前启动类没有包,则在启动时会报错:Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package错误。

(注意:写在java文件夹下的Application类,是不从属于任何一个包的,因而启动类没有包)

4、解决办法

方法一、将Application建在其他的包下面

方法二、在Application类上面加@ComponentScan注解,指定要扫描的包

参考文档

http://blog.csdn.net/u012834750/article/details/65942092

时间: 2024-10-07 18:12:55

Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package的相关文章

SpringBoot问题总结

1.This application has no explicit mapping for /error, so you are seeing this as a fallback. 入口类所在的位置不对,应位于所有子包的最外层 2.Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package. 入口类不能直接放在src/main/java目录下,必须在包内

spring boot 整合mysql

一.4.21积累的知识点 @Controller标识一个Spring类是Spring MVC controller处理器 @RestController:是@Controller和@ResponseBody的结合体,两个标注合并起来的作用. @Transactional:打了这个注解的类或者方法表示该类里面的所有方法或者这个方法的事务由spring处理,来保证事务的原子性,不知道这样说你能不能理解,即是方法里面对数据库操作,如果失败则spring负责回滚操作,成功提交操作 application

maven pom文件管理

https://blog.csdn.net/chengguotao/article/details/52494179 父子项目引用 利用idea创建eureka注册服务 https://blog.csdn.net/a1406075864/article/details/80191343 spring 启动时报 Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package 解决

SpringBoot (1) idea下的环境搭建及demo

1.Spring Boot简介 wiki上的介绍: Spring Boot是Spring的常规配置解决方案,用于创建可以"运行"的独立的,生产级的基于Spring的应用程序.[22]它预先配置了Spring对Spring平台和第三方库的最佳配置和使用的"见解视图",因此您可以尽量少开始.大多数Spring Boot应用程序只需要很少的Spring配置.特征: 创建独立的Spring应用程序 直接嵌入Tomcat或Jetty(无需部署WAR文件) 提供自以为是的&qu

小编带您进入SpringBoot (1) idea下的环境搭建及demo

1.Spring Boot简介wiki上的介绍: Spring Boot是Spring的常规配置解决方案,用于创建可以"运行"的独立的,生产级的基于Spring的应用程序.[22]它预先配置了Spring对Spring平台和第三方库的最佳配置和使用的"见解视图",因此您可以尽量少开始.大多数Spring Boot应用程序只需要很少的Spring配置.特征: 创建独立的Spring应用程序直接嵌入Tomcat或Jetty(无需部署WAR文件)提供自以为是的"

BeanDefinition 解析流程【解析所有配置类】

BeanDefinition 解析流程 BeanDefinition 解析入口:ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry ConfigurationClassPostProcessor# /** * 从主配置类开始递归解析所有配置类,并注册相关的 BeanDefinition 到 BeanDefinitionRegistry 中 */ @Override public void postProcessBea

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/ServletRegistrationBean

异常信息 2017-09-02 18:06:37.223 [main] ERROR o.s.boot.SpringApplication - Application startup failed java.lang.IllegalStateException: Could not evaluate condition on org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$Endpoint

IDEA使用SpringBoot 、maven创建微服务的简单过程

使用IDEA新建一个简单的微服务 1. 打开IDEA,File -> New  -> project 打开如下图1-1所示的对话框 图 1-1 2.点击"Next"按钮,如下图2-1所示: 图 2-1 3.继续点击"Next"按钮,然后是"finsh",则工程即建立下来,pom.xml文件填写如下所示: <modelVersion>4.0.0</modelVersion> <groupId>Spri

Spring Boot 自动配置之@Conditional的使用

Spring Boot自动配置的"魔法"是如何实现的? 转自-https://sylvanassun.github.io/2018/01/08/2018-01-08-spring_boot_auto_configure/ Spring Boot是Spring旗下众多的子项目之一,其理念是约定优于配置,它通过实现了自动配置(大多数用户平时习惯设置的配置作为默认配置)的功能来为用户快速构建出标准化的应用.Spring Boot的特点可以概述为如下几点: 内置了嵌入式的Tomcat.Jett