[JAVA] Notez que j'étais accro au traitement par lots avec Spring Boot

Lorsque j'ai essayé de faire un processus par lots avec Springboot, je suis resté coincé dans ce qui suit, alors notez

  1. Le référentiel créé ne peut pas être lu!

Lorsque j'ai cherché sur le net, il a été dit que ConfigurableApplicationContext devrait être utilisé, alors écrivez comme suit

package com;

import java.io.IOException;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication
public class SampleApplication {

	/**
 * Classe principale
	 *
	 * @param args
	 */
	public static void main(String[] args) {
		try {

			ConfigurableApplicationContext context = SpringApplication.run(SampleBatchService.class, args);
			SampleBatchService service = context.getBean(SampleBatchService.class);
			service.run(args);
			context.close();

		} catch (IOException e) {
			e.printStackTrace();

		} catch (InterruptedException e) {
 // Bloc catch généré automatiquement par TODO
			e.printStackTrace();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Cependant, l'erreur selon laquelle le référentiel ne peut pas être DI est ...

***************************
APPLICATION FAILED TO START
***************************

Description:

Field latestRateRepository in com.SampleApplication required a bean of type 'com.repository.LatestRateRepository' that could not be found.

The injection point has the following annotations:
	- @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'com.repository.LatestRateRepository' in your configuration.

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sampleBatchService': Unsatisfied dependency expressed through field 'latestRateRepository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.repository.LatestRateRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:116)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1422)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
	at com.SampleApplication.main(SampleApplication.java:21)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.repository.LatestRateRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1695)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1253)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
	... 23 more
org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException
	at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:90)
	at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:180)
	at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:164)
	at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:554)
	at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:74)
	at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:50)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
	at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:70)
	at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:47)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:305)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
	at com.SampleApplication.main(SampleApplication.java:21)

Après avoir lutté pendant environ 3 jours, la classe spécifiée dans ConfigurableApplicationContext était erronée dans la classe principale. .. ..

ConfigurableApplicationContext context = SpringApplication.run(SampleBatchService.class, args);                                     ↓ ConfigurableApplicationContext context = SpringApplication.run(SampleApplication.class, args);

Vous devez spécifier votre propre classe ici: frowning2:

Recommended Posts

Notez que j'étais accro au traitement par lots avec Spring Boot
Ce à quoi j'étais accro lors du développement d'une application Spring Boot avec VS Code
Ce que j'ai corrigé lors de la mise à jour vers Spring Boot 1.5.12 ・ Ce à quoi j'étais accro
Un site facile à comprendre lorsque j'ai commencé à apprendre Spring Boot
Un mémo qui a touché Spring Boot
Lors de l'introduction de JOOQ dans Spring Boot, une histoire qui a été traitée parce qu'une erreur s'est produite autour de Liquidbase
Une histoire à laquelle j'étais accro lors de l'obtention d'une clé qui a été automatiquement essayée sur MyBatis
Comment initialiser par lots des tableaux avec Java que je ne savais pas quand j'étais débutant
Une note quand j'étais accro à la conversion d'Ubuntu sur WSL1 en WSL2
Ce à quoi j'étais accro lors de la mise en œuvre de l'authentification Google avec des rails
Un mémo sobrement accro à la demande de multipart / form-data
Une histoire à laquelle j'étais accro lors du test de l'API à l'aide de MockMVC
J'étais accro à l'idée de toucher MySQL 8.0 avec un sentiment de 5.7. Problème de configuration My.cnf
Problèmes auxquels j'étais accro lors de la création de l'environnement digdag avec docker
J'étais accro à faire onActivityResult () avec DialogFragment
Je voulais classer la botte à ressort dans un multi-projet
Une histoire à laquelle j'étais accro à deux reprises avec le paramètre de démarrage automatique de Tomcat 8 sur CentOS 8
SpringSecurity J'étais accro à essayer de me connecter avec un mot de passe haché (résolu)
J'ai essayé de cloner une application Web pleine de bugs avec Spring Boot
Une histoire dans laquelle j'étais vraiment quand j'ai fait triple DES avec ruby
Lorsque je soutiens l'internationalisation avec Spring Boot, je suis accro à ne pas traduire une langue spécifique
Un mémorandum lors de la création d'un service REST avec Spring Boot
J'ai écrit un test avec Spring Boot + JUnit 5 maintenant
Lors de la création d'une application personnelle, je me demandais si je devais la faire en utilisant haml
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
J'étais accro à la configuration de default_url_options avec l'introduction de la conception de Rails
[Rails] J'ai essayé d'implémenter le traitement par lots avec la tâche Rake
Ce à quoi j'étais accro avec l'API REST Redmine
J'ai essayé de démarrer avec Swagger en utilisant Spring Boot
L'histoire à laquelle j'étais accro lors de la création de STS
Une note gênante lorsque vous essayez d'utiliser nginx avec des conteneurs distants de vscode
Une histoire dans laquelle j'étais accro à la conversion de type implicite d'ActiveRecord lors du test unitaire
J'étais accro à WSl en essayant de créer un environnement de développement d'applications Android avec Vue.js
Java: Une histoire qui m'a mis mal à l'aise quand on m'a appris à comparer des chaînes avec des égaux sans raison.
Une histoire que j'ai eu du mal à défier le pro de la concurrence avec Java
Une erreur 404 se produit lors du test de l'authentification par formulaire avec Spring Security
[Mac OS] La CLI Spring Boot a été perturbée par ruby lors de l'installation
Causes techniques et contre-mesures pour les points auxquels j'étais accro avec l'application Android et Kotlin (2. Traitement lié à la fonction caméra d'Android *)
Éléments à prendre en compte lors de l'exécution d'un travail spécifié à l'aide de Spring Batch
Quand j'ai essayé de composer une mise à jour dans le conteneur Docker, je me suis fâché avec proc_open (): fork a échoué
J'ai créé un formulaire de recherche simple avec Spring Boot + GitHub Search API.
Exemple de code pour le test unitaire d'un contrôleur Spring Boot avec MockMvc
À propos de la question pour laquelle j'étais accro à l'utilisation de hashmap
J'ai essayé GraphQL avec Spring Boot
[Rails] Comment résoudre ActiveSupport :: MessageVerifier :: InvalidSignature auquel j'étais accro lors de l'introduction de la connexion Twitter [ActiveStorage]
J'ai essayé Flyway avec Spring Boot
Ce n'est pas un gros problème si vous comprenez que j'étais accro à recevoir du courrier avec Java Mail depuis Exchange Online
L'histoire de rendre possible la construction d'un projet qui a été construit par Maven avec Ant
Mémorandum: Ce à quoi j'étais accro quand j'ai frappé l'API de comptabilité freee
[Rails] J'étais accro aux paramètres nginx lors de l'utilisation d'Action Cable.
J'étais accro à un simple test de Jedis (bibliothèque Java-> Redis)
[iOS] J'ai essayé de créer une application de traitement de type insta avec Swift
J'ai essayé de créer une API Web qui se connecte à DB avec Quarkus
J'ai utilisé Docker pour solidifier le modèle à développer avec Spring Boot.
[Circle CI] J'étais accro au test automatique de Circle CI (rails + mysql) [Memo]