通常建议将应用的main类放到其他类所在包的顶层(root package),并将 @EnableAutoConfiguration 注解到你的main类上,这样就隐式地定义了一个基础的包搜索路径(search package),以搜索某些特定的注解实体(比如@Service,@Component等) 。例如,如果你正在编写一个JPA应用,Spring将搜索 @EnableAutoConfiguration 注解的类所在包下的 @Entity 实体。采用root package方式,你就可以使用 @ComponentScan 注解而不需要指定 basePackage 属性,也可以使用 @SpringBootApplication 注解,只要将 main类放到root package中。
Spring boot 建议使用注解的形式就行配置文件,如果必须使用xml的配置文件,可以使用@ImportResource进行xml的文件的导入。
为了防止devtools传递到项目中的其他模块,设置该依赖级别为optional。