Spring Boot 使用的经典错误-找不到Bean了(文末含新年答谢红包福利)
Posted 编程一生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 使用的经典错误-找不到Bean了(文末含新年答谢红包福利)相关的知识,希望对你有一定的参考价值。
Spring对于Java开发者来说,熟悉程度大概与word、excel这些office软件相当。这是个人猜测,大家也可以来投个票:
Exception
SpringApplication.run(Application.class, args);
String hi()
移动到一个单独的目录下,比如下面这样:
excludeFilters = @ type = FilterType.CUSTOM, 就是 Application,所以扫描的包其实就是它所在的包。因为后来移动目录后 Application 所在的包为 com.brmayi.concise.startup ,没有包含 HelloWorldController 所在的 com.brmayi.concise 。就扫描不到了。 这就是为什么一般咱们都会把 Application 放到项目最外层目录。这样,它所在的目录以及子目录都可以扫描到。 另外,我们也可以使用 @ComponentScans 来修复问题。 福利时间 有朋友让我拉群发红包。问题是:拉了群我说点啥呢。12月份的时候,我一看今年用户量增长很少,发力写了几篇文章。同时,也得到了贵人相助,用户增长终于完成了“KPI”。虽然我不知道贵人具体是谁,但是肯定和咱们用户朋友有很大的关系。答谢是应该的。 要做就做大的,我拉群,大家帮忙拉人进去,争取拉满500人。聊天你们聊,我只管过年发红包。 classes = type = FilterType.CUSTOM,
classes = @SpringBootApplication
找不到参数的方法 springBoot() - 使用 Kotlin 的 Spring Boot
我尝试使用 Kotlin 创建第一个 Spring Boot 应用程序。所以,也许我犯了一些明显的错误或类似的错误。
我的 gradle.build 是:
buildscript
ext.kotlin_version = '1.0.5-2'
ext.spring_boot_version = '1.4.2.RELEASE'
repositories
jcenter()
dependencies
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version"
apply plugin: 'idea'
apply plugin: 'kotlin'
apply plugin: 'application'
jar
baseName = 'rest-voter'
version = '0.1.0'
springBoot
mainClass = 'ru.hixon.Application'
repositories
jcenter()
dependencies
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.springframework.boot:spring-boot-starter-web:1.4.2.RELEASE"
testCompile 'junit:junit'
task wrapper(type: Wrapper)
gradleVersion = '2.13'
错误是:
C:\Users\Desktop\rest-voter>gradlew build
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\Desktop\rest-voter\build.gradle' line: 22
* What went wrong:
A problem occurred evaluating root project 'rest-voter'.
> Could not find method springBoot() for arguments [build_3594if1jtm90vgb7v8evp206i$_run_closure2@459003a0] on root project 'rest-voter'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 12.351 secs
我的主课是:
package ru.hixon
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
@SpringBootApplication
open class Application
fun main(args: Array<String>)
SpringApplication.run(Application::class.java, *args)
here 是我的应用程序的完整代码。
【问题讨论】:
【参考方案1】:你需要:
apply plugin: 'spring-boot'
还有:)
只导入依赖是不够的。
【讨论】:
太奇怪了。我创建了包含这个插件的项目。然后gradle说,这个插件已经弃用了,我得用org.springframework.boot:spring-boot-gradle-plugin
。然后我删除了它。现在我添加了这个插件,并没有关于弃用的消息
对于新的 spring boot 版本,您需要使用 apply plugin: 'org.springframework.boot' 然后在其下方添加 buildInfo() 块以避免构建错误。以上是关于Spring Boot 使用的经典错误-找不到Bean了(文末含新年答谢红包福利)的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot + Kotlin + Gradle - 错误:在类中找不到主要方法
Spring-boot:需要一个找不到的名为“entityManagerFactory”的bean
找不到参数的方法 springBoot() - 使用 Kotlin 的 Spring Boot