有几个步骤需要让这个工作。
第一件事是
@SpringBootApplication
例如
- com
- test
- rest
- model
- repository
- controller
#RestSpringBoot.java
- Commands
#ImportCsv.java
下一件事是,由于命令行应用程序在一个并行包中,您需要自己指定扫描。
第一个确保创建bean,第二个确保创建hibernate实体,第三个确保正确生成JPA类。
最后一部分是禁用springbootwebserver的启动,否则会出现端口冲突。
结果是:
@SpringBootApplication
@ComponentScan(basePackageClasses = {Repository.class})
@EntityScan(basePackageClasses = {MyEntity.class})
@EnableJpaRepositories(basePackageClasses = {Repository.class})
public class CsvImport {
@Autowired
private RiskRepository repository;
public static void main(String[] args) {
SpringApplication app = new SpringApplication(CsvImport.class);
app.setBannerMode(Banner.Mode.OFF);
app.setWebApplicationType(WebApplicationType.NONE);
app.run(args);
}
@Override
public void run(String... args) throws Exception {
File file = new File(args[0]);
if (file.isFile()) {
importCsv(file);
}
}
private void importCsv(File file) {
....
....