Java 组件扫描不映射REST控制器
我的Spring应用程序没有映射Java 组件扫描不映射REST控制器,java,spring-boot,Java,Spring Boot,我的Spring应用程序没有映射@RestController。在我看来,这是一个组件扫描问题。我有两个项目(数据库和API应用程序),我正在扫描这两个项目(我尝试了basePackages和value)。 但仍然不起作用 应用程序类别: //@ComponentScan({"project.name.db", "project.name"}) @ComponentScan(basePackages = "project.name") @SpringBootApplication public
@RestController
。在我看来,这是一个组件扫描问题。我有两个项目(数据库和API应用程序),我正在扫描这两个项目(我尝试了basePackages
和value
)。
但仍然不起作用
应用程序类别:
//@ComponentScan({"project.name.db", "project.name"})
@ComponentScan(basePackages = "project.name")
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
控制器:
@RestController
@ResponseStatus(HttpStatus.OK)
public class PersonController {
@Autowired
private PersonService personService;
@RequestMapping("/person")
public List<Person> getPerson(@RequestParam int someId) throws Exception {
return this.personService.getPerson(someId);
}
}
@RestController
@ResponseStatus(HttpStatus.OK)
公共类个人控制器{
@自动连线
私人私人服务;
@请求映射(“/人”)
公共列表getPerson(@RequestParam int-someId)引发异常{
返回这个.personService.getPerson(someId);
}
}
弹簧加载时,输出不包含此/person
映射。
可能是什么
更新项目结构
project.name.db
- 模型
- 存储库
- MyApplication.java
- 控制器
- 服务
@SpringBootApplication(scanBasePackages = "your.toplevel.package")
或
除去
如果主类(即
MyApplication
)位于根包中,则不需要@ComponentScan
。Spring boot将自动扫描这些内容。您可以发布您的项目结构吗。我想查看包和类。我有两个项目(数据库和API应用程序)。您是否在UI模块内导入了db的配置类?@emotionlessbanas已设置依赖项。db项目中没有配置类。
@SpringBootApplication(scanBasePackageClasses= {PersonController.class})
@ComponentScan(basePackages = "project.name")