草庐IT

Autowired

全部标签

java - 是否可以在 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 中添加限定符?

如果我想在构造函数依赖注入(inject)上使用注解@Qualifier,我会得到如下内容:publicclassExample{privatefinalComponentExamplecomponent;@AutowiredpublicExample(@Qualifier("someComponent")ComponentExamplecomponent){this.component=component;}}我知道Lombok用于减少样板代码并且不必包含构造函数的注释如下:@RequiredArgsConstructors(onConstructor=@__(@Inject))但这

java - @Autowired vs @Required on setter

我很想知道这样的代码有什么区别:classMyClass{@AutowiredMyServicemyService;}和这样的代码:classMyClass{MyServicemyService;@RequiredpublicvoidsetMyService(MyServiceval){this.myService=val;}} 最佳答案 @Autowired注释用于Autowiringbean。@Autowired不限于setter。它也可以与构造函数和字段一起使用。如果您在字段上使用@Autowired注释,该字段将与具有匹配数

java - 带有@Autowired注解的Spring依赖注入(inject),没有setter

几个月以来我一直在使用Spring,我认为带有@Autowired注释的依赖注入(inject)也需要一个setter来注入(inject)字段。所以,我是这样使用它的:@ControllerpublicclassMyController{@AutowiredMyServiceinjectedService;publicvoidsetMyService(MyServiceinjectedService){this.injectedService=injectedService;}...}但我今天已经试过了:@ControllerpublicclassMyController{@Auto

java - Spring @Autowired 和 @Qualifier

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion是否使用@Autowired自动检测到?使用@Qualifier时是否是通过名称进行依赖注入(inject)?我们如何使用这些注解进行setter和构造函数注入(inject)? 最佳答案 您可以将@Qualifier与@Autowired一起使用。事实上,如果发现不明确的bean类型,spring会要求你明确选择bean,在这种情况下你应该提供限定

spring - 如何将@Autowired 构造函数参数分别设置为 "required=false"

我在@Configuration类构造函数下使用@Autowired注释。@ConfigurationpublicclassMyConfiguration{privateMyServiceAmyServiceA;privateMyServiceBmyServiceB@AutowiredpublicMyConfiguration(MyServiceAmyServiceA,MyServiceBmyServiceB){this.myServiceA=myServiceA;this.myServiceB=myServiceB;}}作为Springdocumentationsais,我可以声明是

spring - EntityManager bean 的 @Autowired 与 @PersistenceContext

有什么区别:@AutowiredprivateEntityManagerem;对比:@PersistenceContextprivateEntityManagerem;这两个选项都适用于我的应用程序,但我可以通过使用@Autowired注释来破坏某些内容吗? 最佳答案 您不应该使用@Autowired。@PersistenceContext负责为每个线程创建一个唯一的EntityManager。在生产应用程序中,您可以有多个客户端同时调用您的应用程序。对于每次调用,应用程序都会创建一个线程。每个线程都应该使用自己的EntityMan

Spring 在没有 @Autowired 注释的构造函数中注入(inject)依赖项

我正在尝试来自这个官方Springtutorials的示例并且对这段代码有依赖:https://github.com/spring-guides/gs-async-method/tree/master/complete如果您查看AppRunner.java类的代码,我有两个问题:服务器启动时,如果我在此类的构造函数中放置断点,就像在构造函数中一样,GitHubLookupService由spring提供,使用@Servicebean已配置。但是,构造函数上没有@Autowired注释,那么究竟如何使用正确的依赖项调用这个构造函数呢?它应该是null。这是SpringBoot的自动假设吗

java - 在测试期间注入(inject)@Autowired 私有(private)字段

我有一个组件设置,它本质上是一个应用程序的启动器。它是这样配置的:@ComponentpublicclassMyLauncher{@AutowiredMyServicemyService;//othermethods}MyService使用@ServiceSpring注释进行注释,并且Autowiring到我的启动器类中,没有任何问题。我想为MyLauncher编写一些jUnit测试用例,为此我开设了一个这样的类(class):publicclassMyLauncherTestprivateMyLaunchermyLauncher=newMyLauncher();@Testpublic

spring - IntelliJ IDEA 在使用 Spring 的 @Autowired 注解时显示错误

当我在类中使用Spring的@Autowired注释时,IntelliJIDEA显示错误,但该类运行没有任何问题。这是错误信息:Autowiredmembersmustbedefinedinthevalidspringbean(@Component/@Service,etc.)less...(Ctrl+F1)Checksautowiringproblemsinabeanclass. 最佳答案 我在IntelliJIDEA13.1.4上遇到了同样的问题我通过删除Springfacet(文件->项目结构)并让它只显示“检测”来解决它。

spring - 如何在 kotlin 中将 @Autowired 或 @Value 等 Spring 注释用于原始类型?

使用spring注释Autowiring非基元,例如@AutowiredlateinitvarmetaDataService:MetaDataService有效。但这不起作用:@Value("\${cacheTimeSeconds}")lateinitvarcacheTimeSeconds:Int出现错误:lateinitmodifierisnotallowedforprimitivetypes.如何将原始属性Autowiring到kotlin类中? 最佳答案 你也可以在构造函数中使用@Value注解:classTest(@Valu