title: Parameter 0 of constructor in required a bean of type 'java.lang.String' that could not be found
body: <p>I am working on spring batch with spring boot 2.X application, actually its existing code i am checked out from git. While running the application it fails due to below error only for me and same code is working for others.</p>
  
  <pre><code>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.
  </code></pre>
  
  <p>I have checked below </p>
  
  <ol>
  <li>All Spring components are correctly annotated with @Component, @Service, @Controller,@Repository, etc...</li>
  <li>@ComponentScan &amp; @EnableAutoCOnfiguration is also provided.</li>
  <li>Tried giving "java.lang.String" in declarations.</li>
  </ol>
  
  <p>Code:</p>
  
  <pre><code>    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&lt;Map&lt;String, 
       Object&gt;&gt; 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;
      }
     }
  </code></pre>