草庐IT

autowiring

全部标签

java - 如何将 Spring @Autowired 所需的属性设置为 false 以进行测试?

到目前为止,我一直在使用@Required注释来确保我的bean在Spring配置的应用程序中的DI。要启用注释,您需要在配置中声明一个RequiredAnnotationBeanPostProcessorbean。在您的测试配置中,您只是不声明它,因此如果不需要某些bean,您就不必在配置中包含它们。我想切换到更少的XML并使用@Autowired注释,但默认情况下required=true,这对于运行时配置来说很好。但我需要@Autowired被required=false仅用于测试目的-同时保持它在运行时是必需的。这可能吗?我找不到以声明方式将所需属性变为false的方法。干杯

java - Spring Autowiring 服务在我的 Controller 中不起作用

我在Controller中Autowiring服务时遇到了问题。我有这个错误:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'myController':Injectionofautowireddependenciesfailed;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Couldnotautowirefield:privatees.unican.meteo.serv

java - Spring Boot多模块Maven项目@Autowired不工作

这真的很奇怪。我将我的SpringBoot项目作为一个单独的maven项目开始,并且一切正常。它基本上是一个具有安全性和邮件功能的SpringMVC应用程序。然后当我看到服务、存储库、模型等组件将被独立应用程序重用时,我决定将maven项目拆分为子模块。突然没有Autowiring开始工作。经过一些调查后,我发现我需要明确地将这些包放在我的独立应用程序的应用程序中:@ComponentScan(basePackages={"service"})@EnableJpaRepositories(basePackages={"repository"})@EnableAutoConfigurat

java - @Autowired 对象获取空值

试图建立一个项目,但在通过SpringAutowiring对象时失败。packagese.hsr.web;publicclassTestRunner{publicstaticvoidmain(String[]args){ContactDAOcd=newContactDAOImpl();Contactcontact=newContact();contact.setFirstname("Zorro");cd.addContact(contact);}}packagese.hsr.web;运行它会在调用cd.addContact时给我一个NullPointerException。Contac

java - mockito 中@InjectMocks 和@Autowired 用法的区别?

当我使用Mockito和Junit编写测试用例时,我使用了@InjectMocks作为要测试的类。在项目的其他部分,我还看到@Autowired被用于要测试的类。我什么时候可以使用@InjectMocks和@Autowired?当我们尝试将它们与要测试的类一起使用时,两者之间有什么区别? 最佳答案 @InjectMocks是一种Mockito机制,用于将test类中声明的字段注入(inject)到undertest类中的匹配字段中。它不要求被测类是Spring组件。@Autowired是Spring的注释,用于将beanAutowi

java - 主类中的 Spring-Boot @Autowired 为空

我想连接到SonicBroker主题并监听任何传入的XML消息。我做了类似下面的事情;Application.java@SpringBootApplication@ComponentScan({"com.mainpack","com.msgpack.jms"})@EnableJmspublicclassApplicationextendsSpringBootServletInitializer{@AutowiredprivateJmsTopicListenerjmsTopicListener;@OverrideprotectedSpringApplicationBuilderconfi

java - 在 JSP 中 Autowiring Spring Beans 的最干净的方法是什么?

我们目前正在向一个仅使用JSP而没有任何前端框架的旧Web应用程序添加一些新功能。我们最近添加了Spring,我们希望在修改后的JSP中Autowiring我们的bean,而不是重写所有内容以使用SpringMVC、Struts2或Tapestry5。我们按类型使用Autowiring,因此它会导致在JSP中获取一些类似这样的代码,同时之前获取Web应用程序上下文(如“wap”):MyDaomyDao=(MyDao)wap.getBeansOfType(MyDao.class).values().toArray()[0];我们不希望使用这样的代码,而是像使用@Autowired注释将我

java - WebApplicationContext 不会 Autowiring

我写了这个测试类:@ContextConfiguration(locations={"classpath:/test/BeanConfig.xml"})publicclassCandidateControllerTest{@Mock(name="candidateService")privateCandidateServicecandidateService;@InjectMocksprivateCandidateMenuControllercandidateMenuController=newCandidateMenuController();@AutowiredWebApplica

Spring中被放弃的@Autowired,你会用吗?

注入方式一:属性(字段)注入在某个属性(字段)上使用@Autowired注解时,Spring在创建该Bean的过程中,会根据字段的类型或名称从Spring容器中查找到所匹配的Bean对象,并赋值给该熟悉。@ServicepublicclassUserService{//注入方式一:属性注入@AutowiredprivateRoleServiceroleService;publicvoidprintRoleService(){System.out.println(roleService);}}注入方式二:Setter注入在某个Setter方法上使用@Autowired注解时,Spring在创建该

java - 无法 Autowiring 。找不到 ... 类型的 bean

你能帮我解决为什么我不能Autowiring一个类吗??UserDaoImpl类:@RepositorypublicclassUserDaoImplimplementsUserDao{@AutowiredprivateSessionFactorysessionFactory;@OverridepublicvoidaddUser(Useruser){sessionFactory.getCurrentSession().save(user);}@OverridepublicListgetUsers(){returnsessionFactory.getCurrentSession().cre