Spring Boot REST控制器类路径

时间:2016-02-29 02:16:22

标签: rest spring-boot

我们正在使用gradle bootRun启动Spring Boot应用,该应用会触发具有注释x.Application的{​​{1}}类。启动后,我们可以访问@SpringBootApplication包中的REST服务,但无法访问其他包中的REST服务。如何相应地配置类路径?

1 个答案:

答案 0 :(得分:1)

假设您的x包类似于com.example.mybootapp且您的主Application.class位于x包内,那么您需要添加此

@SpringBootApplication
@ComponentScan({"com.example.mybootapp","com.example.someother","one.more.pack"})

在您的主Application.class方法或配置文件上。

@SpringBootApplication本身由@Configuration @EnableAutoConfiguration @ComponentScan注释组成,因此@ComponentScan默认basePackge(即要扫描的包)到主Application.class的包中这就是为什么Spring无法检测到主包之外的其他@Controlers

如果按照上面的建议构建代码(在根包中定位应用程序类),则可以添加@ComponentScan而不添加任何参数。您的所有应用程序组件(@Component@Service@Repository@Controller等)都将自动注册为Spring Bean。

请参阅MultiDex NoClassDefFound error了解如何构建代码。