実現したいこと
以下のサイトを参考に、SpringBatchでハローワールドを出力しようとしていますが、出力できません。
参考①:
https://qiita.com/kawakawaryuryu/items/4b3f5cc7574b7bd6b625
https://kagamihoge.hatenablog.com/entry/2023/03/24/192846
発生している問題・分からないこと
実行自体は正常終了しており、特にエラーになっていないため、
何が足りないのか、何がうまく行っていないのかも読み取れない状況です。
1点、コンソール上には以下のワーニングが出力されていました。
WARN 32268 --- [ccc] [ restartedMain] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[aaa.bbb.ccc]' package. Please check your configuration.
このエラーメッセージを調べてみると、以下のサイトのように
Mapperクラスでの定義/指定不足が原因との情報にたどり着きました。
参考②:
https://qiita.com/azmint/items/7c6040e9136dd6d0f556
https://teratail.com/questions/301664
しかし、上記「参考①」の中には「Mapper」という単語は出てこず
何をどうすれば、ハローワールドが出力されるかわからない状態です。
該当のソースコード
Java:TestApplication.java
1package aaa.bbb.ccc; 2 3import org.springframework.boot.SpringApplication; 4import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6@SpringBootApplication 7public class TestApplication { 8 public static void main(String[] args) { 9 SpringApplication.run(TestApplication .class, args); 10 } 11}
Java:BatchConfig.java
1package aaa.bbb.ccc; 2 3import org.springframework.batch.core.Job; 4import org.springframework.batch.core.Step; 5import org.springframework.batch.core.job.builder.JobBuilder; 6import org.springframework.batch.core.repository.JobRepository; 7import org.springframework.batch.core.step.builder.StepBuilder; 8import org.springframework.batch.repeat.RepeatStatus; 9import org.springframework.context.annotation.Bean; 10import org.springframework.context.annotation.Configuration; 11import org.springframework.transaction.PlatformTransactionManager; 12 13@Configuration 14public class BatchConfig { 15 @Bean 16 Job job(JobRepository jobRepository, PlatformTransactionManager txManager) { 17 Step step = new StepBuilder("sampleStep", jobRepository) 18 .tasklet((contribution, chunkContext) -> { 19 System.out.println("Hello World."); 20 return RepeatStatus.FINISHED; 21 }, txManager) 22 .build(); 23 24 return new JobBuilder("sampleJob", jobRepository) 25 .start(step) 26 .build(); 27 } 28}
build.gradle
1plugins { 2 id 'java' 3 id 'org.springframework.boot' version '3.4.0' 4 id 'io.spring.dependency-management' version '1.1.6' 5} 6 7group = 'aaa.bbb' 8version = '0.0.1-SNAPSHOT' 9 10java { 11 toolchain { 12 languageVersion = JavaLanguageVersion.of(21) 13 } 14} 15 16configurations { 17 compileOnly { 18 extendsFrom annotationProcessor 19 } 20} 21 22repositories { 23 mavenCentral() 24} 25 26dependencies { 27 implementation 'org.springframework.boot:spring-boot-starter-batch' 28 implementation 'org.springframework.boot:spring-boot-starter-web' 29 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.4' 30 compileOnly 'org.projectlombok:lombok' 31 developmentOnly 'org.springframework.boot:spring-boot-devtools' 32 runtimeOnly 'com.mysql:mysql-connector-j' 33 annotationProcessor 'org.projectlombok:lombok' 34 testImplementation 'org.springframework.boot:spring-boot-starter-test' 35 testImplementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter-test:3.0.4' 36 testImplementation 'org.springframework.batch:spring-batch-test' 37 testRuntimeOnly 'org.junit.platform:junit-platform-launcher' 38} 39 40tasks.named('test') { 41 useJUnitPlatform() 42} 43
application.properties
1spring.application.name=ccc 2spring.batch.job.enabled=false 3mybatis.configuration.map-underscore-to-camel-case=true 4spring.datasource.url=jdbc:mysql://localhost:3306/testdb?enabledTLSProtocols=TLSv1.2 5spring.datasource.username=root 6spring.datasource.password=root 7spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
エラーが出ていないため、解消する情報にたどり着けなかった。
補足
特になし
