草庐IT

AutoWired

全部标签

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 - 我不能使用注释来指示一个 bean 是一个主 bean

我们知道在Spring中,有一个属性“primary”来指示如果有多个bean可Autowiring到一个属性,则一个bean是第一个候选者。但是现在我所有的bean定义都是使用@Component/@Service等声明的,我找不到可用于声明bean的相应“主要”属性。请指教我怎样才能做到这一点,谢谢。 最佳答案 在Spring3.0中,您使用@Primary.Indicatesthatabeanshouldbegivenpreferencewhenmultiplecandidatesarequalifiedtoautowirea

java - Spring 按类型列出 bean

在Spring中有没有一种方法可以自动填充一个列表,其中包含一个类型的所有bean及其任何子类型?我有一个setter方法,如下所示:setMyProp(Listlist)我想在MyType的任何bean和MyType的所有子类中Autowiring。谢谢,杰夫 最佳答案 是的,你可以做到这一点。spring文档说:ItisalsopossibletoprovideallbeansofaparticulartypefromtheApplicationContextbyaddingtheannotationtoafieldormeth

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

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

java - spring 如何 Autowiring 通用转换器?

偶尔我会注意到一些有趣的事情:我已经实现了springConverter接口(interface):@ComponentpublicclassMyConverterimplementsConverter{@OverridepublicMyClass2convert(MyClass1source){//doesn'tmatter}}在Controller中我像这样Autowiring它@AutowireConvertermyConverter;惊喜,但spring注入(inject)了适当的类。根据我的信息,spring在运行时Autowiringbean。我也知道在运行时通用类型删除。

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

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