我已经尝试了这个平台上提供的所有答案,但都不起作用。我正在执行这个命令行运行程序,但run方法没有调用。
我感谢你的帮助。
谢谢。
我尝试了下面的解决方案,但得到了这个例外。
第一个:在Bootstrap类(这个类的main方法是SpringApplication.run(...,args))中,你可以在@SpringBootApplication annotation中添加属性scanBasePackages:
@SpringBootApplication(scanBasePackages = {“com.project.data.runner”})这将告诉Spring在com.project.data.runner包中查找组件。
2条答案
按热度按时间fwzugrvs1#
您的Bootstrap类位于
com.project.demo.data
包中您的命令行运行程序位于
com.project.data.runner
包上Spring将扫描
com.project.demo.data
的子包中的组件,也就是说,在com.project.demo.data.*
中,这就是为什么你的命令行运行器永远不会运行。Spring永远不会找到他。你有几个选择,但我只说两个:
1st:在你的Bootstrap类(有
main
方法和SpringApplication.run(..., args)
的类),你可以在@SpringBootApplication
annotation处添加属性scanBasePackages
:这将告诉Spring在
com.project.data.runner
包中查找组件。或
2nd:将命令行运行程序从
com.project.data.runner
移动到com.project.demo.data.runner
(或com.project.demo.data
下的类似程序)更新
由于您正在使用Spring Data JPA Repositories,如果您的repositories不在Bootstrap类所在的包或子包下,则必须将
@EnableJpaRepositories
添加到@Configuration
类并显式配置您的repositories所在的包。你的bootstrap类看起来像这样:
xu3bshqb2#
我遇到了同样的问题,解决方法是将@Component添加到类定义中。