草庐IT

Autowired注入

全部标签

java - 用 Mockito 注入(inject)模拟不起作用

我正在使用Mockito测试我的Spring项目,但是@InjectMocks似乎无法将模拟服务注入(inject)另一个Spring服务(bean)。这是我要测试的Spring服务:@ServicepublicclassCreateMailboxService{@AutowiredUserInfoServicemUserInfoService;//thisshouldbemocked@AutowiredLogicServicemLogicService;//thisshouldbeautowiredbySpringpublicvoidcreateMailbox(){//domethi

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 - 是上下文 :annotation-config an alternative to @AutoWired?

我可以将context:annotation-config放在我的XML配置中,它会自动注入(inject)bean类而不需要任何注释是否正确?所以不要使用这些注解类型:publicclassMailman{privateStringname;@AutowiredprivateParcelParcel;publicMailman(Stringname){this.name=name;}@AutowiredpublicvoidsetParcel(ParcelParcel){this.Parcel=Parcel;}@AutowiredpublicvoiddirectionsToParcel

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

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

java - 使用 Springs @Autowired 进行独立的 JUnit 测试

作为测试驱动开发的初学者,我刚刚遇到了一个问题。我的测试课开始如下:@RunWith(SpringJUnit4ClassRunner.class)@Transactional@DirtiesContext@ContextConfiguration(locations={"/web-test.xml"})publicclassXXTest{@AutowiredXXxx;@AutowiredHibernateTemplatetemplate;@TestpublicvoidtestSetGetXXValue()throwsException{finalMapprofilMap=newHash