我正在用spring Boot2.x应用程序处理spring batch,实际上它的现有代码我是从Git签出的。在运行应用程序时,它失败了,因为下面的错误只对我来说,同样的代码是为其他人工作的。
s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'inputItemReader' defined in file [C:\Users\XYZ\git\main\batch\CBatchProcessing\target\classes\com\main\batchprocessing\batch\reader\InputItemReader.class]: Unsatisfied dependency expressed through **constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations**: {}
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-10-16 23:23:37.411 ERROR 2384 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
**Parameter 0 of constructor in com.main.batchprocessing.batch.reader.InputItemReader required a bean of type 'java.lang.String' that could not be found.**
Action:
Consider defining a bean of type 'java.lang.String' in your configuration.
我已经检查了下面
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.batch.core.ExitStatus;
import org.springframework.batch.core.StepExecution;
import org.springframework.batch.core.StepExecutionListener;
import org.springframework.batch.item.file.FlatFileItemReader;
import org.springframework.batch.item.file.mapping.JsonLineMapper;
import
org.springframework.batch.item.file.separator.JsonRecordSeparatorPolicy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.FileSystemResource;
import org.springframework.stereotype.Component;
@Component
public class InputItemReader extends FlatFileItemReader<Map<String,
Object>> implements StepExecutionListener {
@Autowired
private InputFileHeaderValidator inputFileHeaderValidator;
@Autowired
private FileAuditService fileAuditService;
private final Logger log =
LoggerFactory.getLogger(InputItemReader.class);
private java.lang.String inputFilePath;
public InputItemReader(String inputFilePath) {
setLineMapper(new JsonLineMapper());
setRecordSeparatorPolicy(new JsonRecordSeparatorPolicy());
setResource(new FileSystemResource(inputFilePath));
this.inputFilePath = inputFilePath;
}
}
由于您没有提供公共默认构造函数,并且添加了自己的非默认构造函数,因此实例化将失败。我建议您将输入文件路径定义为类似@value(“${inputFilePath}”)
的属性。如果需要在bean中进行进一步的初始化,请定义一个void方法,并用@postconstruct
对其进行注释,然后在其中进行初始化。
运行应用程序后控制台显示的错误粘贴在下面 套餐下有3个等级 bduckapp1application.java<-SpringBoot应用程序 bducktrigger.java<-restcontrol oss.java<-data类 pom.xml 我尝试了各种stackoverflow文章中针对类似错误提到的所有解决方案。建议将这些类移动到与类相同的文件夹中,或者包含具有它属性的包。没有一个
我想有一个SSO CAS认证,我已经按照Bealdung的教程(https://www.baeldung.com/spring-security-cas-sso第4部分)的说明,但当我作为Spring启动应用程序运行时,我有这个错误 SecurityConfig中构造函数的参数0需要找不到类型为“org.springframework.security.cas.authentication.Cas
在使用Hibernate作为ORM创建将对象保存在DB中的服务时,我无法启动应用程序。 当我启动SpringBoot应用程序时,我会得到以下错误消息。
我正在创建一个,其中任何客户端都可以提交请求,这些请求可以是、、、。 但是在创建这个应用程序时,我遇到了以下错误: 我的应用程序的结构是: 我尝试用、、注释,但仍然得到相同的错误。 我甚至从这些答案中尝试了解决方案: (1)构造函数的参数0需要一个类型为'java.lang.String'的bean,但找不到该bean 但我仍然无法解决我的问题。
在此处输入图像描述 在此处输入图像描述 我仍然不知道该怎么办(我在UserRepository上尝试了Repository注释-错误是一样的)。错误消息:`启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2022-03-14 09:04:54.626错误7236---[main]o.s.b.d.LoggingFailureAnalysisR
我不确定我的代码有什么问题。我试着学习Spring Boot WebFlux。但我无法运行应用程序,因为我得到以下错误: com.thomsoncodes.todo.controller.ToDoController中构造函数的参数0需要一个类型为“com.thomsoncodes.todo.repository.ToDoRespository”的bean,但找不到该bean 疲惫@Autowir