TypechoJoeTheme

香草物语

统计
登录
用户名
密码
/
注册
用户名
邮箱
输入密码
确认密码

@SpringBootApplication标注非引导类

Laughing博主
2021-12-05
/
0 评论
/
835 阅读
/
180 个字
/
百度已收录
12/05
本文最后更新于2024年05月31日,已超过112天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

一般情况下,@SpringBootApplication一般都是标注在项目引导类上。像下面这样:

@Slf4j
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {

        SpringApplication.run(DemoConfiguration.class, args);
    }

}

但是@SpringBootApplication一定要标注到引导类上吗?答案是否定的。我们可以将@SpringBootApplication标注到任意的类上。

比如我们增加以下类

package net.xiangcaowuyu.demo.config;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoConfiguration {
}

然后改造引导类

@Slf4j
public class DemoApplication {

    public static void main(String[] args) {

        SpringApplication.run(DemoConfiguration.class, args);
    }

}

再次运行项目,可以发现项目可以正常运行

但是如果我们访问我们的接口,会发现提示404

注意我们DemoConfiguration所在的包net.xiangcaowuyu.demo.config,@SpringBootApplication只会扫描当前包及下级包,所以,我们的接口它扫描不到,就提示404。

如果希望我们其他的类被扫描到,我们就需要添加scanBasePackages属性。

package net.xiangcaowuyu.demo.config;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(scanBasePackages = {"net.xiangcaowuyu.demo"})
public class DemoConfiguration {
}

重启项目,在访问接口,发现能正常访问

JavaSpring Boot
朗读
赞(0)
赞赏
感谢您的支持,我会继续努力哒!
版权属于:

香草物语

本文链接:

https://www.xiangcaowuyu.net/java/springbootapplication-annotates-non-bootstrap-classes.html(转载时请注明本文出处及文章链接)

评论 (0)