草庐IT

INJECT_EVENTS

全部标签

java - Spring 真的不支持接口(interface)注入(inject)吗?

我知道Spring不支持接口(interface)注入(inject),我已经读过很多次了。但今天当我看到MartinFowler(link)的一篇关于IOC的文章时,似乎在Spring中使用ApplicationContextAware与接口(interface)注入(inject)有些相似。当我们的Springbean中需要Spring的上下文引用时,我们将实现ApplicationContextAware并将实现setApplicationContext(ApplicationContextcontext)方法,并且我们将在配置文件中包含该bean。这与接口(interface)

java - 使用注释注入(inject)依赖项是否会消除依赖注入(inject)(外部配置)的主要好处?

我正在使用Spring,这是一个Controller:@ControllerpublicclassPersonController{@Resource(name="PersonService")privatePersonServicepersonService;@RequestMapping(value="/Person",method=RequestMethod.GET)publicStringgetPersons(Modelmodel){//RetrieveallpersonsbydelegatingthecalltoPersonServiceListpersons=personS

java - 注入(inject)命名的 Guice 单例

我有一个简单的POJO:publicclassMyPOJO{@InjectprivateFizzfizz;privateBuzzbuzz;//restofclassomittedforbrevity}我想配置我的Guice模块,使其注入(inject)两种类型的Fizz:一个特殊的全局单例Fizz实例;和其他(非特殊)Fizz实例我希望MyPOJO被注入(inject)特殊/单例实例。所以我修改了我的代码:publicclassMyPOJO{@Inject@Named("Special-Fizz")privateFizzfizz;privateBuzzbuzz;//restofclas

java - 注入(inject)器层次结构/子注入(inject)器解释?

我一直在网上寻找有关注入(inject)器层次结构以及如何/何时使用createChildInjector()的解释,但我找不到清晰简洁的解释。这是我的用例:我有一个基本应用程序模块,我用它来注入(inject)某些上下文项。该模块应包含在每个注入(inject)器实例中。我有一个搜索数据库的搜索模块我有一个搜索ElasticSearch的搜索模块。此类中的某些绑定(bind)应该覆盖数据库搜索模块中提供的绑定(bind)。例如,假设数据库搜索模块包含:bind(PlaceSearch.class).to(HibernatePlaceSearch.class);bind(PersonS

java - 选择在运行时 spring 注入(inject)哪个实现

我有以下类(class):publicinterfaceMyInterface{}publicclassMyImpl1implementsMyInterface{}publicclassMyImpl2implementsMyInterface{}publicclassRunner{@AutowiredprivateMyInterfacemyInterface;}我想做的是决定,当应用程序已经运行时(即不在启动时)应该将哪个实现注入(inject)Runner。理想情况下是这样的:ApplicationContextappContext=...Integerrequest=...Runn

java - mockito @Mock 没有按预期注入(inject)命名的@Resource

我有一个包含三个命名@Resource成员的类,如下所示:@Resource(name="contactsPaginationRequestValidator")privatePaginationRequestValidatorpaginationRequestValidator;@Resource(name="integerMaxPaginationRequestValidator")privatePaginationRequestValidatorintegerMaxPaginationRequestValidator;@Resource(name="contactsSearchR

java - 如何使用 @Resource WebServiceContext 注入(inject) Spring 的 @Transactional

我有一个Metrojax-ws网络服务,看起来或多或少像这样:@WebService@TransactionalpublicclassUserManagementServiceImpl{@ResourceprivateWebServiceContextcontext;...}WebServiceContext总是空的。但是,如果我删除@Transactional,则会注入(inject)WebServiceContext。有人知道解决方法吗?谢谢。 最佳答案 我找到了解决方法。使用setter注入(inject)而不是字段注入(in

java - 使用 Guice 将委托(delegate)人注入(inject) RESTEasy 中的资源方法

我正在使用RESTEasy和Guice开发RESTAPI,目前我正在尝试通过使用类似于Dropwizard中的@Auth的注释来合并基本身份验证。与@Path("hello")publicclassHelloResource{@GET@Produces("application/json")publicStringhello(@AuthfinalPrincipalprincipal){returnprincipal.getUsername();}}hello资源调用应该被一些代码拦截,这些代码使用授权HTTP请求header中传递的凭据执行基本身份验证,并成功将主体注入(inject)

java - Spring Controller 中的 Autowiring bean注入(inject)

无法弄清楚,出了什么问题。我一次又一次地收到同样的错误。我已经搜索谷歌但未能解决这个问题。我在这里寻找同一篇文章试图解决但仍然是一样的。JobsDAOImp.javapublicclassJobsDAOImpimplementsJobsDAO{@AutowiredprivateSessionFactorysessionFactory;..}JobService.javapublicinterfaceJobsService{....}JobServiceImp.java@Service@Transactional(readOnly=true)publicclassJobsServiceI

java - 依赖注入(inject)、初始化后的不变性

我希望能够指定一个对象的成员变量在对象被“初始化”后是不可变的,这对我来说意味着在它被注入(inject)任何依赖项之后,并且已经执行了它所需要的任何其他初始化操作只能在DI之后执行。是否有满足我兴趣的语言-以这种方式形式化DI、初始化并支持不变性?使它们成为语言的一部分也许是愚蠢的;也许不吧。我不确定。今天我用Java编程,但我不能像我想的那样经常使用“final”,因为这些阶段发生在构造函数完成执行之后。关于如何使用Java获得我想要的东西的任何建议?我想我可以让我的对象实现一个基类,以便这些阶段在构造函数完成之前发生,或者使用方面来做同样的事情。想法?