草庐IT

Autowired注入

全部标签

java - EJB3 - 通过注入(inject)与查找获取 bean - 有什么区别、含义和陷阱?

我知道有两种获取EJB实例的方法:通过@EJB注释在servlet和EJB中进行依赖注入(inject)通过Context.lookup在任何地方进行JNDI查找使用这两种方法中的任何一种有什么区别、含义和问题?它们相同吗?依赖注入(inject)比查找快吗?事务处理和对象生命周期管理呢?我知道的事情包括:注释仅适用于servlet和EJB方便的语法容器无关查找可以在运行时以编程方式实例化EJB接口(interface)的不同实现。可在任何地方工作-例如POJO。取决于容器的命名约定 最佳答案 两者都达到相同的结果。这更像是一个耦合

java - Spring依赖注入(inject)解决什么问题?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。查看此问题的最佳答案:WhatexactlyisSpringFrameworkfor?我不知道问题是什么,为什么在XML文件中指定要使用的接口(interface)实现(或使用注释)的Spring解决方案比简单地用一行代码实例化正确的接口(interface)更好?编辑:正如我在其中一条评论中所写,我真的想了解其中的好处。我想了解为什么Spring有用。

java - 为什么我需要一个无参数构造函数来在 CDI 中使用 ApplicationScoped bean 和构造函数注入(inject)?

我正在尝试将构造函数注入(inject)模式应用于我的CDI应用程序中的bean,但遇到以下错误消息:15:18:11,852ERROR[izone.adams.webapp.error.IzoneExceptionHandler](defaulttask-40)org.jboss.weld.exceptions.UnproxyableResolutionException:WELD-001435:Normalscopedbeanclasswebapp.util.LoginManagerActionisnotproxyablebecauseithasnono-argsconstruct

java - 如何在需要注入(inject)实例的 Guice 中进行动态绑定(bind)?

我想创建一个动态绑定(bind)实例到命名注释的模块。用例是我想自动将配置中的值与属性文件中的键绑定(bind)为@Named值。但是配置绑定(bind)在不同的模块中,所以我需要注入(inject)配置。我看过的解决方案是:在configure()方法中绑定(bind)。此方法未注入(inject),无法获取基础配置。使用提供者/@Provides。提供者只绑定(bind)一个实例。使用MultiBinder。我的用例与此扩展提供的用例略有不同。多重绑定(bind)允许您分别绑定(bind)多个实例,然后将它们作为更复杂的包含类型的Collection注入(inject)。我想分别绑

java - Play 2.0/2.1 for Java 和依赖注入(inject)

我们有一个新的Play2.0项目,我们计划在添加一些复杂的第3方集成代码时引入DI。Play2.0有一个Guice插件,但看起来它在2.1时会过时,我有预感2.1已经不远了。https://github.com/typesafehub/play-plugins/tree/master/guiceGuice是Play2.0/2.1的安全选择还是我们应该考虑其他选择? 最佳答案 我会选择2.1版本,以及来自全局对象的新Controller实例。这是来自doc的Guice示例:importplay.GlobalSettings;impor

Java EE 7 - 注入(inject) Runnable/Callable 对象

并发实用程序(JSR236)已在JavaEE7中引入。有什么办法可以将我的EJB注入(inject)到Runnable/Callable对象中吗?特别是我想要这样的东西:带有业务逻辑的ejb@LocalBeanpublicclassMyEjb{publicvoiddoSomeStuff(){...dosomestuff...}}我想在其中注入(inject)MyEjb实例的可运行/可调用类publicclassMyTaskimplementsRunnable{@EJBMyEjbmyEjb;@Overridepublicvoidrun(){...myEjb.doSomeStuff();.

java - 如何将 jdbiFactory DAO 注入(inject) Dropwizard 命令?

我开始使用Dropwizard我正在尝试创建一个Command这需要使用数据库。如果有人想知道我为什么要这样做,我可以提供充分的理由,但这不是我要问的重点。它是关于Dropwizard中的依赖倒置和服务初始化和运行阶段。Dropwizard鼓励使用其DbiFactorytobuildDBIinstances但是为了获得一个,您需要一个Environment实例和/或数据库配置:publicclassConsoleServiceextendsService{publicstaticvoidmain(String...args)throwsException{newConsoleServi

java - 在另一个服务中注入(inject)服务

我有UserService和MissionService。在UserSerivce中注入(inject)MissionService是否可以,反之亦然?如果是,单元测试呢? 最佳答案 当然可以,而且非常好。但我建议您使用方法注入(inject),以便允许您在运行时设置实例而不使用反射(您可以手动创建实例)。例如:@ServicepublicclassMissionService{}@ServicepublicclassUserService{privateMissionServicemissionService;@Autowired

java - 处理不同环境的注解驱动的依赖注入(inject)

我认为很多专业人士不转投注解驱动依赖注入(inject)的主要原因是它不支持开发/测试/生产环境之间的切换。在许多情况下出于开发目的,您不仅使用不同的服务(以及它们的连接),而且有时您需要模拟它们或创建Dummy实例。昨天我想出了一个带有Spring注解的解决方案:@Value("#{${env}=="production"?realService:dummyService}")privateSomeServiceservice;...这应该可以,但不是很好。我会对您的解决方案或论点非常感兴趣:为什么这不是一个真正的问题;-)欢迎使用Guice、Spring或任何其他工具。最初的问题是

java - Spring - 如何注入(inject)具体的接口(interface)实现?

我需要通过@Autowired注入(inject)服务类的具体实现。服务接口(interface):publicinterfacePostService{...}实现:@Service("postServiceImpl")publicclassPostServiceImplimplementsPostService{...}服务中的方法带有@Transactional注解现在我想将postServiceImpl注入(inject)我的Controller-因为我需要使用实现中的一种方法,该方法不在接口(interface)中:@Autowired@Qualifier("postServ