SpringBoot需要一个类型为' boolean'的bean。无法找到

时间:2017-10-13 09:35:42

标签: java spring-boot

我搜索stackoverflow很多,但没有为我的问题找到解决方案。 我将SpringBoot应用程序作为WAR文件部署到Tomcat 8时出现以下错误,localy它确实可以正常工作

***************************|
APPLICATION FAILED TO START|
***************************|
Description:
Parameter 0 of method getJobapplicationDTO in 
com.tts.scp.converter.config.ScpDestinationConfig required a bean of 
type 'boolean' that could not be found.
Action:
Consider defining a bean of type 'boolean' in your configuration.

有一个界面

public interface HttpProviderConfig {
  JobApplicationDTO getJobapplicationDTO(boolean printResume, boolean 
  printCoverletter, boolean printAttachments, String jobApplicationId);
} 

和两个实施类

@Configuration
@Profile("production")
public class ScpDestinationConfig implements HttpProviderConfig{

private static final Logger logger = 
LoggerFactory.getLogger(ScpDestinationConfig.class);

@Override
@Bean
public JobApplicationDTO getJobapplicationDTO (boolean resume, boolean coverletter ...

和第二课

@Configuration
@Profile("dev")
public class LocalDestinationConfig implements HttpProviderConfig{

private static final Logger logger = 
LoggerFactory.getLogger(LocalDestinationConfig.class);

@Override
@Bean
public JobApplicationDTO getJobapplicationDTO (boolean resume, boolean coverletter ...

休息服务

@RestController
public class ConverterController {

private static final Logger logger = 
LoggerFactory.getLogger(ConverterController.class);

@Autowired
@Lazy
private HttpProviderConfig client;

@GetMapping(path = "/convertDocuments", produces=MediaType.APPLICATION_PDF_VALUE)
public void convertedDocument(@RequestParam(defaultValue = "true") String printResume,
        @RequestParam(defaultValue = "true") String printCoverLetter,
        @RequestParam(defaultValue = "true") String printAttachments, @RequestParam String jobApplicationId,
        HttpServletResponse response) throws IOException {

    JobApplicationDTO jobApplicationDTO = client.getJobapplicationDTO(

所以我不明白Tomcat如何能够找到像boolean这样的原始数据类型,以及为什么它在本地运行时能够正常工作。

任何帮助将不胜感激

此致 的Mathias

1 个答案:

答案 0 :(得分:0)

  

所以我不明白Tomcat如何能够找到像boolean这样的原始数据类型,以及为什么它在本地运行时能够正常工作。

这与它无关。

在您的配置中,您有一个@Bean声明,如:

@Bean
public JobApplicationDTO getJobapplicationDTO (boolean resume, ...)

所以基本上你要求Spring为你管理JobApplicationDTO。然后,Spring需要resume和其他参数来为您构建JobApplicationDTO,它无法找到它们,因此您会收到错误。

我认为您不应该首先使用get...DTO注释@Bean方法。而且,...Config课程对我来说实际上看起来不像@Configuration,而非@Service@Component