本文介绍了com.din.OSS 中构造函数的参数 0 需要一个无法找到的“java.lang.String"类型的 bean的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

运行应用程序后在控制台中显示的错误粘贴在下面

18:46:00.752 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - 包括重启模式:[]18:46:00.754 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - 重启的排除模式:[/spring-boot-actuator/target/classes/,/spring-boot-devtools/target/classes/,/spring-boot/target/classes/,/spring-boot-starter-[\w-]+/,/spring-boot-autoconfigure/target/classes/,/spring-boot-starter/target/classes/]18:46:00.754 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - 重新加载的匹配 URL:[file:/D:/Automation/sts/stsworkspace/BduckApp-1/target/classes/].____ _ _ _/\\/___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/_` | \ \ \ \\\/___)||_)|||||||(_| | ) ) ) )' |____|.__|_||_|_||_\__, |////==========|_|==============|___/=/_/_/_/[32m :: Spring Boot :: [39m[2m (v2.1.0.BUILD-SNAPSHOT)[0;39m][2m2018-06-27 18:46:00.946[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mcom.din].BduckApp1Application [0;39m [2m:[0;39m 在 KOR1064502 上启动 BduckApp1Application,PID 为 14192(D:\Automation\sts\stsworkspace\BduckApp-1\target\classes 由 rad9kor 在 D:\Automation\sts\sts 中启动)BduckApp-1)[2m2018-06-27 18:46:00.947[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mcom.din].BduckApp1Application [0;39m [2m:[0;39m] 没有设置活动配置文件,回退到默认配置文件:默认[2m2018-06-27 18:46:00.991[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[restartedMain][0;39m][36mConfigServletWebServerApplicationContext[0];39m [2m:[0;39m 刷新 org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@47ebf699: 启动日期 [Wed Jun 27 18:46:00 IST 2018];上下文层次结构的根[2m2018-06-27 18:46:01.785[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mtrationDelegateChecker$BeanPostProcessor][0;39m [2m:[0;39m Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' 类型 [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$6d259a6] 没有资格被所有人处理BeanPostProcessors(例如:不符合自动代理条件)[2m2018-06-27 18:46:02.216[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mo.sbw]Embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat 初始化端口(s): 8080 (http)[2m2018-06-27 18:46:02.229[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mo.apache].catalina.core.StandardService [0;39m [2m:[0;39m 启动服务 [Tomcat]][2m2018-06-27 18:46:02.229[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36morg.apache].catalina.core.StandardEngine [0;39m [2m:[0;39m 启动 Servlet 引擎:Apache Tomcat/8.5.31[2m2018-06-27 18:46:02.233[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[ost-startStop-1][0;39m][36mo.a.catalina.core.AprLifecycleListener [0;39m [2m:[0;39m] 在 java.library.path: [C:\Program Files\Java\jre8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre8/bin/server;C:/ProgramFiles/Java/jre8/bin;C:/Program Files/Java/jre8/lib/amd64;C:\Perl520\Perl64\bin;C:\Perl520\Perl64\site\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program文件 (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\Intel(R) Management EngineComponents\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86))\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\7-Zip;C:\Program Files\TortoiseSVN\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files\7-Zip;C:\Program Files\Black Duck Software\protexIP\bin;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files\Black Duck Software\protexIP\bin;C:\Program Files\7-Zip;C:\Program Files (x86)\Toolbase Client;C:\Program Files\Git\cmd;C:\Users\rad9kor\anaconda3;C:\Users\rad9kor\anaconda3\Library\mingw-w64\bin;C:\Users\rad9kor\anaconda3\Library\usr\bin;C:\Users\rad9kor\anaconda3\Library\bin;C:\Users\rad9kor\anaconda3\Scripts;D:\Automation\sts\tool\sts-bundle\sts-3.9.4.RELEASE;;.][2m2018-06-27 18:46:02.329[0;39m [32m INFO[0;39m [35m14192[0;39m][2m---[0;39m [2m[ost-startStop-1][0;39m][36mo.accC[Tomcat].[localhost].[/] [0;39m [2m:[0;39m] 初始化 Spring 嵌入式 WebApplicationContext[2m2018-06-27 18:46:02.329[0;39m [32m INFO[0;39m [35m14192[0;39m][2m---[0;39m [2m[ost-startStop-1][0;39m][36mo.s.web.context.ContextLoader [0;39m [2m:[0;39m Root WebApplicationContext: 1340 ms 内完成初始化][2m2018-06-27 18:46:02.459[0;39m [32m INFO[0;39m [35m14192[0;39m][2m---[0;39m [2m[ost-startStop-1][0;39m][36mo.sbwservlet.ServletRegistrationBean [0;39m [2m:[0;39m Servlet dispatcherServlet 映射到[/]][2m2018-06-27 18:46:02.460[0;39m [32m INFO[0;39m [35m14192[0;39m][2m---[0;39m [2m[ost-startStop-1][0;39m][36mo.sbwservlet.ServletRegistrationBean [0;39m [2m:[0;39m Servlet webServlet 映射到[/h2-console/*][2m2018-06-27 18:46:02.462[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[ost-startStop-1][0;39m][36mo.sbwservlet.FilterRegistrationBean [0;39m [2m:[0;39m 映射过滤器:'characterEncodingFilter'到:[/*][2m2018-06-27 18:46:02.463[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[ost-startStop-1][0;39m][36mo.sbwservlet.FilterRegistrationBean [0;39m [2m:[0;39m 映射过滤器:'hiddenHttpMethodFilter'到:[/*][2m2018-06-27 18:46:02.463[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[ost-startStop-1][0;39m][36mo.sbwservlet.FilterRegistrationBean [0;39m [2m:[0;39m 映射过滤器:'httpPutFormContentFilter'到:[/*][2m2018-06-27 18:46:02.463[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[ost-startStop-1][0;39m][36mo.sbwservlet.FilterRegistrationBean [0;39m [2m:[0;39m 映射过滤器:'requestContextFilter'到:[/*][2m2018-06-27 18:46:02.570[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mcom.zaxxer].hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - 开始...[2m2018-06-27 18:46:02.628[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mcom.zaxxer].hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - 开始完成.[2m2018-06-27 18:46:02.660[0;39m [32m INFO[0;39m [35m14192[0;39m] [2m---[0;39m [2m[restartedMain][0;39m [36mj.LocalContainerEntityManagerFactoryBean][0;39m [2m:[0;39m 为持久化单元‘默认’构建 JPA 容器 EntityManagerFactory[2m2018-06-27 18:46:02.669[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mo.hibernate].jpa.internal.util.LogHelper [0;39m [2m:[0;39m HHH000204: Processing PersistenceUnitInfo [名称:默认...][2m2018-06-27 18:46:02.816[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36morg.hibernate].Version [0;39m [2m:[0;39m HHH000412: Hibernate Core {5.3.1.Final}[2m2018-06-27 18:46:02.817[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36morg.hibernate].cfg.Environment [0;39m [2m:[0;39m HHH000206: hibernate.properties 未找到][2m2018-06-27 18:46:02.869[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mo.hibernate].annotations.common.Version [0;39m [2m:[0;39m HCANN000001: Hibernate Commons Annotations {5.0.3.Final}[2m2018-06-27 18:46:02.954[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36morg.hibernate].dialect.Dialect [0;39m [2m:[0;39m HHH000400: 使用方言:org.hibernate.dialect.H2Dialect[2m2018-06-27 18:46:03.084[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mo.ht]schema.internal.SchemaCreatorImpl [0;39m [2m:[0;39m HHH000476: 执行导入脚本'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@152501c5'[2m2018-06-27 18:46:03.086[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[restartedMain][0;39m [36mj.LocalContainerEntityManagerFactoryBean][0;39m [2m:[0;39m 初始化 JPA EntityManagerFactory 持久化单元'default'[2m2018-06-27 18:46:03.099[0;39m [33m WARN[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mConfigServletWebServerApplicationContext[0];39m [2m:[0;39m 在上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为 'bduckTrigger' 的 bean 时出错:通过字段 'oss' 表示不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException:在文件 [D:\Automation\sts\stsworkspace\BduckApp-1\target\classes\com\din\OSS.class] 中定义名称为OSS"的 bean 创建时出错: 不满足的依赖通过构造函数参数 0 表示;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的java.lang.String"类型的合格 bean:预期至少有 1 个 bean 有资格作为自动装配候选.依赖注释:{}[2m2018-06-27 18:46:03.099[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[restartedMain][0;39m [36mj.LocalContainerEntityManagerFactoryBean][0;39m [2m:[0;39m] 关闭 JPA EntityManagerFactory 持久化单元默认"[2m2018-06-27 18:46:03.099[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36m.SchemaDropperImpl]$DelayedDropActionImpl[0;39m [2m:[0;39m HHH000477: 作为 SessionFactory 关闭的一部分启动模式的延迟 evictData'[2m2018-06-27 18:46:03.101[0;39m [33m WARN[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mo.sbf]support.DisposableBeanAdapter [0;39m [2m:[0;39m 在名为inMemoryDatabaseShutdownExecutor"的 bean 上调用 destroy 方法失败:org.h2.jdbc.JdbcSQLException:数据库已经关闭(要在 VM 关闭时禁用自动关闭,请添加";DB_CLOSE_ON_EXIT=FALSE" 到数据库 URL) [90121-197][2m2018-06-27 18:46:03.101[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mcom.zaxxer].hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - 关闭启动...[2m2018-06-27 18:46:03.103[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mcom.zaxxer].hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - 关闭完成.[2m2018-06-27 18:46:03.105[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mo.apache].catalina.core.StandardService [0;39m [2m:[0;39m] 停止服务 [Tomcat][2m2018-06-27 18:46:03.114[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m][2m[restartedMain][0;39m [36mConditionEvaluationListener[0;39m];39m [2m:[0;39m启动 ApplicationContext 时出错.要显示条件报告,请在启用调试"的情况下重新运行您的应用程序.[2m2018-06-27 18:46:03.208[0;39m [31mERROR[0;39m [35m14192[0;39m] [2m---[0;39m [2m[restartedMain][0;39m [36mo.sbdLoggingReportFailureAnalysisAnalysis][0;39m [2m:[0;39m]****************************应用程序无法启动****************************说明:com.din.OSS 中构造函数的参数 0 需要一个无法找到的java.lang.String"类型的 bean.行动:考虑在您的配置中定义一个java.lang.String"类型的 bean.

包下有3个类

com.din

BduckApp1Application.java <- SpringBoot 应用程序

BduckTrigger.java <- RestController

OSS.java

BduckApp1Application .java

package com.din;导入 org.springframework.boot.SpringApplication;导入 org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication公共类 BduckApp1Application {公共静态无效主(字符串 [] args){SpringApplication.run(BduckApp1Application.class, args);}}

BduckTrigger.java

package com.din;导入 java.util.Vector;导入 org.springframework.beans.factory.annotation.Autowired;导入 org.springframework.web.bind.annotation.RequestMapping;导入 org.springframework.web.bind.annotation.RestController;@RestController公共类 BduckTrigger {@自动连线OSS OSS;矢量<OSS>osses = new Vector();@RequestMapping("/bd")公共矢量<OSS>登录到Protex(){oss = OSS.builder().name("Dinesh").version("1.0").license("apache 2.0").usage("dynamic").comment("approved").build();osses.add(oss);oss = OSS.builder().name("Nikesh").version("2.0").license("BSD 2.0").usage("static").comment("disapproved").build();osses.add(oss);归还资产;}

}

OSS.java

package com.din;导入 org.springframework.stereotype.Component;进口 lombok.Builder;进口 lombok.Getter;@Getter@Builder@组件公共类 OSS {公共字符串名称;公共字符串版本;公共字符串许可证;公共字符串用法;公共字符串注释;}

pom.

</父母><属性><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></属性><依赖项><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></依赖><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></依赖><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></依赖><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>运行时</scope></依赖><依赖><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>运行时</scope></依赖><依赖><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></依赖><依赖><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><范围>测试</范围></依赖></依赖项><构建><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></插件></plugins></build><存储库><存储库><id>弹簧快照</id><name>Spring 快照</name><url>https://repo.spring.io/snapshot</url><快照><已启用>真</已启用></快照></repository><存储库><id>spring-milestones</id><name>春季里程碑</name><url>https://repo.spring.io/milestone</url><快照><启用>假</启用></快照></repository></repositories><插件库><插件库><id>弹簧快照</id><name>Spring 快照</name><url>https://repo.spring.io/snapshot</url><快照><已启用>真</已启用></快照></pluginRepository><插件库><id>spring-milestones</id><name>春季里程碑</name><url>https://repo.spring.io/milestone</url><快照><启用>假</启用></快照></pluginRepository></pluginRepositories></项目>

我尝试了在各种 stackoverflow 帖子中针对类似错误提到的所有解决方案.所有人都建议将类移动到与 @SpringBootApplication 类相同的文件夹中,或者包含具有 basepackage 属性的包.没有一个对我有用.任何帮助都会很棒!

解决方案

注意:您为 Spring 和 Lombok 配置了 OSS bean.
关于 Lombok,您在类级别声明 @Builder 可能因此生成构造函数.

问题是,从 Spring 4 开始,默认情况下,声明构造函数的 Spring 组件会自动被视为自动装配的构造函数.
而您遇到的异常.

看到你实例化OSS实例的方式:

oss = OSS.builder().name("Dinesh").version("1.0").license("apache 2.0").usage("dynamic").comment("approved").构建();

OSS 不必配置 Spring bean,但必须是手头创建的普通对象.
你不想创建这个对象的单个实例,你想根据客户端请求实例化它,最后你也不希望在客户端之间共享它.
所以只要去掉这个类的@Component注解即可.

Error which is shown in console after running the application is pasted below

18:46:00.752 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
18:46:00.754 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/, /spring-boot/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter/target/classes/]
18:46:00.754 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/D:/Automation/sts/stsworkspace/BduckApp-1/target/classes/]

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
[32m :: Spring Boot :: [39m[2m (v2.1.0.BUILD-SNAPSHOT)[0;39m

[2m2018-06-27 18:46:00.946[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.din.BduckApp1Application            [0;39m [2m:[0;39m Starting BduckApp1Application on KOR1064502 with PID 14192 (D:\Automation\sts\stsworkspace\BduckApp-1\target\classes started by rad9kor in D:\Automation\sts\stsworkspace\BduckApp-1)
[2m2018-06-27 18:46:00.947[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.din.BduckApp1Application            [0;39m [2m:[0;39m No active profile set, falling back to default profiles: default
[2m2018-06-27 18:46:00.991[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mConfigServletWebServerApplicationContext[0;39m [2m:[0;39m Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@47ebf699: startup date [Wed Jun 27 18:46:00 IST 2018]; root of context hierarchy
[2m2018-06-27 18:46:01.785[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mtrationDelegate$BeanPostProcessorChecker[0;39m [2m:[0;39m Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$6d259a6] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
[2m2018-06-27 18:46:02.216[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat initialized with port(s): 8080 (http)
[2m2018-06-27 18:46:02.229[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.apache.catalina.core.StandardService  [0;39m [2m:[0;39m Starting service [Tomcat]
[2m2018-06-27 18:46:02.229[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36morg.apache.catalina.core.StandardEngine [0;39m [2m:[0;39m Starting Servlet Engine: Apache Tomcat/8.5.31
[2m2018-06-27 18:46:02.233[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.a.catalina.core.AprLifecycleListener  [0;39m [2m:[0;39m The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jre8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre8/bin/server;C:/Program Files/Java/jre8/bin;C:/Program Files/Java/jre8/lib/amd64;C:\Perl520\Perl64\bin;C:\Perl520\Perl64\site\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\7-Zip;C:\Program Files\TortoiseSVN\bin;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files\7-Zip;C:\Program Files\Black Duck Software\protexIP\bin;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files\Black Duck Software\protexIP\bin;C:\Program Files\7-Zip;C:\Program Files (x86)\Toolbase Client;C:\Program Files\Git\cmd;C:\Users\rad9kor\anaconda3;C:\Users\rad9kor\anaconda3\Library\mingw-w64\bin;C:\Users\rad9kor\anaconda3\Library\usr\bin;C:\Users\rad9kor\anaconda3\Library\bin;C:\Users\rad9kor\anaconda3\Scripts;D:\Automation\sts\tool\sts-bundle\sts-3.9.4.RELEASE;;.]
[2m2018-06-27 18:46:02.329[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.a.c.c.C.[Tomcat].[localhost].[/]      [0;39m [2m:[0;39m Initializing Spring embedded WebApplicationContext
[2m2018-06-27 18:46:02.329[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.web.context.ContextLoader           [0;39m [2m:[0;39m Root WebApplicationContext: initialization completed in 1340 ms
[2m2018-06-27 18:46:02.459[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.ServletRegistrationBean [0;39m [2m:[0;39m Servlet dispatcherServlet mapped to [/]
[2m2018-06-27 18:46:02.460[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.ServletRegistrationBean [0;39m [2m:[0;39m Servlet webServlet mapped to [/h2-console/*]
[2m2018-06-27 18:46:02.462[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean  [0;39m [2m:[0;39m Mapping filter: 'characterEncodingFilter' to: [/*]
[2m2018-06-27 18:46:02.463[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean  [0;39m [2m:[0;39m Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
[2m2018-06-27 18:46:02.463[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean  [0;39m [2m:[0;39m Mapping filter: 'httpPutFormContentFilter' to: [/*]
[2m2018-06-27 18:46:02.463[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean  [0;39m [2m:[0;39m Mapping filter: 'requestContextFilter' to: [/*]
[2m2018-06-27 18:46:02.570[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.zaxxer.hikari.HikariDataSource      [0;39m [2m:[0;39m HikariPool-1 - Starting...
[2m2018-06-27 18:46:02.628[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.zaxxer.hikari.HikariDataSource      [0;39m [2m:[0;39m HikariPool-1 - Start completed.
[2m2018-06-27 18:46:02.660[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mj.LocalContainerEntityManagerFactoryBean[0;39m [2m:[0;39m Building JPA container EntityManagerFactory for persistence unit 'default'
[2m2018-06-27 18:46:02.669[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.hibernate.jpa.internal.util.LogHelper [0;39m [2m:[0;39m HHH000204: Processing PersistenceUnitInfo [
    name: default
    ...]
[2m2018-06-27 18:46:02.816[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36morg.hibernate.Version                   [0;39m [2m:[0;39m HHH000412: Hibernate Core {5.3.1.Final}
[2m2018-06-27 18:46:02.817[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36morg.hibernate.cfg.Environment           [0;39m [2m:[0;39m HHH000206: hibernate.properties not found
[2m2018-06-27 18:46:02.869[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.hibernate.annotations.common.Version  [0;39m [2m:[0;39m HCANN000001: Hibernate Commons Annotations {5.0.3.Final}
[2m2018-06-27 18:46:02.954[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36morg.hibernate.dialect.Dialect           [0;39m [2m:[0;39m HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
[2m2018-06-27 18:46:03.084[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.h.t.schema.internal.SchemaCreatorImpl [0;39m [2m:[0;39m HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@152501c5'
[2m2018-06-27 18:46:03.086[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mj.LocalContainerEntityManagerFactoryBean[0;39m [2m:[0;39m Initialized JPA EntityManagerFactory for persistence unit 'default'
[2m2018-06-27 18:46:03.099[0;39m [33m WARN[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mConfigServletWebServerApplicationContext[0;39m [2m:[0;39m Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bduckTrigger': Unsatisfied dependency expressed through field 'oss'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'OSS' defined in file [D:\Automation\sts\stsworkspace\BduckApp-1\target\classes\com\din\OSS.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: {}
[2m2018-06-27 18:46:03.099[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mj.LocalContainerEntityManagerFactoryBean[0;39m [2m:[0;39m Closing JPA EntityManagerFactory for persistence unit 'default'
[2m2018-06-27 18:46:03.099[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36m.SchemaDropperImpl$DelayedDropActionImpl[0;39m [2m:[0;39m HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'
[2m2018-06-27 18:46:03.101[0;39m [33m WARN[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.b.f.support.DisposableBeanAdapter   [0;39m [2m:[0;39m Invocation of destroy method failed on bean with name 'inMemoryDatabaseShutdownExecutor': org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-197]
[2m2018-06-27 18:46:03.101[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.zaxxer.hikari.HikariDataSource      [0;39m [2m:[0;39m HikariPool-1 - Shutdown initiated...
[2m2018-06-27 18:46:03.103[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.zaxxer.hikari.HikariDataSource      [0;39m [2m:[0;39m HikariPool-1 - Shutdown completed.
[2m2018-06-27 18:46:03.105[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.apache.catalina.core.StandardService  [0;39m [2m:[0;39m Stopping service [Tomcat]
[2m2018-06-27 18:46:03.114[0;39m [32m INFO[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mConditionEvaluationReportLoggingListener[0;39m [2m:[0;39m 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
[2m2018-06-27 18:46:03.208[0;39m [31mERROR[0;39m [35m14192[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.b.d.LoggingFailureAnalysisReporter  [0;39m [2m:[0;39m 

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

Description:

Parameter 0 of constructor in com.din.OSS 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.

There are 3 classes under package

BduckApp1Application .java

package com.din;

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

@SpringBootApplication
  public class BduckApp1Application {

public static void main(String[] args) {
    SpringApplication.run(BduckApp1Application.class, args);
}
}

BduckTrigger.java

package com.din;

import java.util.Vector;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class BduckTrigger {
@Autowired
OSS oss;

Vector<OSS> osses = new Vector<>();
@RequestMapping("/bd")
public Vector<OSS> LogintoProtex() {
    oss = OSS.builder().name("Dinesh").version("1.0").license("apache 2.0").usage("dynamic").comment("approved").build();
    osses.add(oss);
    oss = OSS.builder().name("Nikesh").version("2.0").license("BSD 2.0").usage("static").comment("disapproved").build();
    osses.add(oss);
    return osses;

}

}

OSS.java

package com.din;

import org.springframework.stereotype.Component;
import lombok.Builder;
import lombok.Getter;

@Getter
@Builder
@Component
public class OSS {
 public String name;
 public String version;
 public String license;
 public String usage;
 public String comment;
}

pom.

<?

I tried all the solution that is mentioned for the similar error in the various stackoverflow post. All suggests, to move the classes to the same folder as @SpringBootApplication class or include the package with the attribute of it basepackage. None worked for me. Any help would be great!

解决方案

Beware : you configured your OSS bean both for Spring and Lombok.
And about Lombok you declared at the class level @Builder that probably has as consequence to generate a constructor.

And the problem is that from Spring 4,by default, a Spring component that declares a constructor is automatically considered as an autowired constructor.
Whereas the exception you encounter.

Seeing the way you instantiated the OSS instance :

oss = OSS.builder().name("Dinesh").version("1.0").license("apache 2.0").usage("dynamic").comment("approved").build();

the OSS doesn't have to be configured a Spring bean but have to be a plain object created at hand.
You don't want to create a single instance of this object, you want instantiate it according to the client request and at last you don't want share it between clients either.
So just remove the @Component annotation of this class.

这篇关于com.din.OSS 中构造函数的参数 0 需要一个无法找到的“java.lang.String"类型的 bean的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 09:07