Spring Boot 的项目是如何运行的,入口是什么

Spring Boot 的项目是如何运行的,入口是什么

之前已经探讨了springboot的快速搭建,可以参考下面的引用,这里一起主要研究下入口类:Application.java

springboot通常有一个名为:*Application的入口类,入口类里有一个main方法,这个main方法其实就是一个标准的java应用的入口方法。

Spring Boot 的项目是如何运行的,入口是什么

在main方法中使用springApplication.run(application.class,args),就可以启动spring boot项目,@springbootApplication是springBoot的核心注解,是一个组合注解。

Spring Boot 的项目是如何运行的,入口是什么

@springbootApplication注解主要组合了@configuration,@enableAutoconfiguration,@ComponentScan,所以,可以直接引用这三个注解,就可以是程序的入口。

Spring Boot 的项目是如何运行的,入口是什么

这时在类中,右键--run as --java application ,可以看到能正常启动项目应用。@enableAutoConfiguration 可以让springboot 根据类路径中的jar包依赖为当前项目进行自动配置。

Spring Boot 的项目是如何运行的,入口是什么

那么,启动类的存放位置有没有要求呢?

这个问题就是springboot的自动扫描问题了,你不配置扫描路径的情况下,默认是扫描启动类所在目录或者他的子目录下的controller、service、dao等,所以解决办法有两个:

1、 用注解 @ComponentScan(basePackages = {"com.*", "com.frames"}) 主动配置扫面路径;(@SpringBootApplication注解等价于@Configuration, @EnableAutoConfiguration and @ComponentScan)

2、 直接把启动类放到根目录下,让他自动扫描所有的包(这也是官方建议的做法)


分享到:


相關文章: