在本文中,您将会了解到关于intellij错误地说没有为自动装配的存储库找到类型的bean的新资讯,同时我们还将为您解释无法自动装配,未找到bean的相关在本文中,我们将带你探索intellij错误地
在本文中,您将会了解到关于intellij 错误地说没有为自动装配的存储库找到类型的 bean的新资讯,同时我们还将为您解释无法自动装配,未找到bean的相关在本文中,我们将带你探索intellij 错误地说没有为自动装配的存储库找到类型的 bean的奥秘,分析无法自动装配,未找到bean的特点,并给出一些关于@Aspect方面的Spring自动装配的Bean为空、angularjs – IntelliJ和Angular 2参数类型不可分配的错误、Groovy Spock测试用例无法找到自动装配的bean、IntelliJ IDEA 常见文件类型的图标介绍的实用技巧。
本文目录一览:- intellij 错误地说没有为自动装配的存储库找到类型的 bean(无法自动装配,未找到bean)
- @Aspect方面的Spring自动装配的Bean为空
- angularjs – IntelliJ和Angular 2参数类型不可分配的错误
- Groovy Spock测试用例无法找到自动装配的bean
- IntelliJ IDEA 常见文件类型的图标介绍
intellij 错误地说没有为自动装配的存储库找到类型的 bean(无法自动装配,未找到bean)
我创建了一个简单的单元测试,但 IntelliJ 错误地将其突出显示为红色。将其标记为错误
没有豆子?
正如您在下面看到的,它通过了测试?所以它必须是Autowired?
答案1
小编典典使用他们的注释创建 Spring
Boot应用程序时,我遇到了同样的问题。@SpringBootApplication
此注解表示@Configuration
,@EnableAutoConfiguration
并@ComponentScan
根据弹簧参考。
正如预期的那样,新注释工作正常,我的应用程序运行顺利,但是 Intellij
一直抱怨未实现的@Autowire
依赖项。一旦我改回使用@Configuration
,@EnableAutoConfiguration
和@ComponentScan
分开,错误就消失了。似乎
Intellij 14.0.3 (很可能也是早期版本)尚未配置为识别@SpringBootApplication
注释。
现在,如果这些错误对您造成如此大的困扰,那么请回到这三个单独的注释。否则,忽略 Intellij …您的依赖解析已正确配置,因为您的测试通过了。
总记得…
人永远大于机器。
@Aspect方面的Spring自动装配的Bean为空
如何解决@Aspect方面的Spring自动装配的Bean为空?
方面是一个单例对象,在spring容器外部创建。使用XML配置的解决方案是使用Spring的factory方法检索方面。
<bean id="syncLoggingAspect"factory-method="aspectOf" />
使用此配置,该方面将被视为任何其他Spring bean,并且自动装配将正常工作。
你还必须在没有构造函数或在spring容器外部创建的对象的Enum对象和其他对象上也使用工厂方法。
解决方法
我有以下spring配置:
<context:component-scan base-package="uk.co.mysite.googlecontactsync.aop"/>
<bean name="simpleEmailSender"/>
<aop:aspectj-autoproxy/>
然后我有一个方面:
@Aspect
public class SyncLoggingAspect {
@Autowired
private SimpleEmailSender simpleEmailSender
@AfterReturning(value="execution(* uk.co.mysite.datasync.polling.Poller+.doPoll())",returning="pusher")
public void afterPoll(Pusher pusher) {
simpleEmailSender.send(new PusherEmail(pusher));
}
}
此方面有效(我可以在afterPoll上达到断点),但是simpleEmailSender为null。不幸的是,我找不到清楚的文档说明为什么这样做。(作为记录,我的simpleEmailSender bean存在并且已正确连接到其他类中)以下几点使我感到困惑:
- 是context:component-scan应该是@Aspect吗?如果可以肯定的话,那将是一个弹簧管理的bean,那么自动装配应该可以工作吗?
- 如果context:component-scan不是用于创建方面,那么如何创建我的方面?我以为aop:aspectj-autoproxy只是创建一个beanPostProcessor来代理我的@Aspect类?如果不是Spring托管的bean,它将如何执行?
显然,你可以告诉我,我对一切应该如何工作一无所知。
angularjs – IntelliJ和Angular 2参数类型不可分配的错误
bootstrap(App,[ ROUTER_PROVIDERS,provide(LocationStrategy,{useClass: HashLocationStrategy}) ]);
引发参数类型App不能分配给参数类型Type
和标准注释一样;
@RouteConfig([ {path: '/...',component: RootView,as: 'RootView',useAsDefault: true} ])
throw参数类型{path:string,component:RootView,as:string,useAsDefault:boolean} []不能赋值给参数类型RouteDeFinition []
以前有人碰过这个吗?有谁知道如何让smartJ玩得好听?
按要求提供应用程序来源;
import {Component,ViewEncapsulation} from 'angular2/core'; import {RootView} from './root-view'; import { RouteConfig,ROUTER_DIRECTIVES } from 'angular2/router'; @Component({ selector: 'app',templateUrl: './components/app/app.html',encapsulation: ViewEncapsulation.None,directives: [ROUTER_DIRECTIVES] }) @RouteConfig([ {path: '/...',useAsDefault: true} ]) export class App { }
在我的实例中,修复很简单,是App中的默认空构造函数:
export class App { constructor() {} }
但是Angular2中使用IntelliJ的一般经验法则似乎是DI链中所有内容的构造函数 – 至少目前是这样.我认为这是一个错误,将在IntelliJ的角度插件中修复 – 我只是将它提交给他们.
Groovy Spock测试用例无法找到自动装配的bean
尝试将其添加到您的Class测试中:
@TestConfiguration
static class ConfigurationClass{
@Bean
public ServiceX serviceX() {
return new ServiceX();
}
}
IntelliJ IDEA 常见文件类型的图标介绍
在之前的 “ 史上最简单的 IntelliJ IDEA 教程 ” 系列博文中,咱们已经了解了很多关于 IntelliJ IDEA 的内容啦,例如,在 Windows 系统下安装 IntelliJ IDEA、运行 IntelliJ IDEA 、创建 Java 项目以及修改 IntelliJ IDEA 主题等等,可以说,咱们已经初步掌握了 IntelliJ IDEA 的使用方法啦!不过,有一个现象不知道大家注意到没有,那就是:在咱们使用 IntelliJ IDEA 创建文件的时候, 随着文件类型的不同,其显示的图标也不相同。例如,咱们分别创建 Java、Interface、Enum 和 JavaScript 文件,如下图所示:
如上图所示,显然不同的文件类型,其显示的图标也不相同。为了能够更好的掌握 IntelliJ IDEA,在这里,咱们更进一步,了解一下 IntelliJ IDEA 各种文件类型的图标,主要分为三类:Common、Data Sources 和 File Types.
Common
Data Sources
File Types
IntelliJ IDEA 识别众多的文件类型,每一个文件类型都用一个特殊图标表示,也允许自定义的文件类型。每个文件类型与一个或多个特定的模式进行关联扩展。文件类型及其扩展可以在文件类型的对话框中进行配置。默认的文件类型包括:
对于各种文件类型的图标,上面的 Description
已经介绍的非常详细啦,但是还有两个图标需要特别的说明一下,分别为:
Source root
,咱们可以理解为源目录,其作用就是用来专门存放 Java 类文件的,相对于编译出来的 class 文件而言,它就是源。一般默认名字叫src
的目录就是源目录,但是在 IntelliJ IDEA 中,即使叫srcs
也是可以设置为Source root
的,所以源目录跟目录命名是没有关系的,因为 IntelliJ IDEA 支持将任意目录设置为Source root
,其作用就是标记该目录下的文件是可编译的。Java class located out of the source root
,咱们已经知道Source root
目录是用来告诉 IntelliJ IDEA 这是存放可编译文件的目录,而如果咱们的 Java 类文件没有放在该目录或是该目录的子包下,那么该 Java 类文件就无法进行编译,其前面就会显示这个图标。
我们今天的关于intellij 错误地说没有为自动装配的存储库找到类型的 bean和无法自动装配,未找到bean的分享已经告一段落,感谢您的关注,如果您想了解更多关于@Aspect方面的Spring自动装配的Bean为空、angularjs – IntelliJ和Angular 2参数类型不可分配的错误、Groovy Spock测试用例无法找到自动装配的bean、IntelliJ IDEA 常见文件类型的图标介绍的相关信息,请在本站查询。
本文标签: