我通常只是将@Autowire东西放入Spring对象中。但是我遇到了一种情况,我需要动态创建一些需要可以Autowiring的值的对象。我该怎么办?我能做的就是手动将Autowiring的值传递给新对象的构造函数。我想做的只是在创建每个新对象时Autowiring它。@ServicepublicclassFoo{@AutowiredprivateBarbar;/**ThiscreatesBlahobjectsandpassesintheautowiredvalue.*/publicvoidmanuallyPassValues(){Listblahs=newLinkedList();f
大家好,感谢您的提前帮助。我遇到一个问题,Spring无法Autowiring类型为ArrayBlockingQueue的参数化成员变量。这是Java代码:@ControllerpublicclassSomeController{@AutowiredprivateArrayBlockingQueuemyQueue;}在spring配置xml中:为ArrayBlockingQueue指定类型(SomeCustomType)似乎混淆了spring,它找不到匹配项并且不执行Autowiring。关于如何让它发挥作用的任何想法?我知道我可以创建自己的未参数化的包装类(围绕ArrayBlocki
我的应用程序使用SpringAutowiring来配置bean。我刚刚尝试添加@Transactional并且似乎没有调用预期的代理。我希望PersonalController使用事务代理包装的UpdatePublicMapService调用UpdatePublicMapService。我看到的是PersonalController被实例化了两次。第一次它获得代理,但第二次它获得未代理的目标。我做错了什么?非常感谢您的帮助。网络.xml...contextConfigLocation/WEB-INF/applicationContext.xml,/WEB-INF/application
为什么Spring在Autowiring期间自动选择父类(superclass)类型?例如,如果我有@ComponentpublicclassFoo{}@ComponentpublicclassBarextendsFoo{}有人Autowiring@AutowiredprivateFoofoo;为什么Spring总是选择父类(superclass)型Foo?这不应该是一个“不明确的”映射(并导致Spring抛出错误)吗?从技术上讲,您不是有两个Foo候选人吗?(例如,当从Foo中删除@Component时,Bar会自动选取...) 最佳答案
我想在属性上使用@Value,但我总是得到0(在int上)。但它在构造函数参数上有效。例子:@ComponentpublicclassFtpServer{@Value("${ftp.port}")privateintport;publicFtpServer(@Value("${ftp.port}")intport){System.out.println(port);//21,loadedfromtheapplication.properties.System.out.println(this.port);//0???}}该对象是spring管理的,否则构造函数参数将不起作用。有谁知道是
我是Java新手。我正在制作这个tutorial(SpringMVC+Hibernate+Tomcat)到目前为止一切正常。当我尝试创建一个ApplicationController时,我无法AutowiringApplicationRepository。我在部署应用程序时收到此错误消息和404错误代码:Couldnotautowire.Nobeansof'ApplicationRepository'typefound.less...(Ctrl+F1)Checksautowiringproblemsinabeanclass.好吧,谈话很便宜。这是repo(github!):https:
我正在使用spring和hibernate构建一个网络应用程序。我想为此构建服务器端表,我需要一个用服务类编写的方法。但要成功执行它,我需要将它自动连接到受尊敬的类,因为现在它给出了访问表的空指针异常。 最佳答案 不,你不能在JSP中使用@autowired。如果您需要JSP中的bean,您可以使用以下内容:ApplicationContextac=RequestContextUtils.getWebApplicationContext(request);ac.getBean("yourBeanName");编辑为:-示例bean:
我试图理解为什么我不能Autowiring类存储库,但我可以在相同的包中为相同的测试Autowiring接口(interface)存储库。当我启动应用程序时,相同的存储库按预期工作。一、错误:Causedby:org.springframework.beans.factory.NoSuchBeanDefinitionException:Noqualifyingbeanoftype'com.app.person.repository.PersonRepository'available:expectedatleast1beanwhichqualifiesasautowirecandida
我想通过xml配置文件创建两个相同类的bean。该类有一个带注释的setter将由spring填充。在其中一个bean定义中,我还手动提供值以覆盖注释中的一个。但是当我这样做时,spring不再处理注释连接。这是演示此效果的最小代码,使用了@Value为简单起见,但它与@Autowired相同:importorg.springframework.beans.factory.annotation.Value;importjavax.annotation.PostConstruct;publicclassAutowireTest{publicStringtestField;@PostCon
我能够查看通过XML连接的任何bean的Bean图,但是当我有通过注释@Autowired的bean时,它们之间不显示任何箭头。根据STS#171和STS#1066它是很久以前实现的。注意:最后使用STS3.4.0.RELEASE测试如果我部署到tcServer并执行LiveBeanGraph,那么它可以工作,但不使用常规View。 最佳答案 改进feature被要求甚至关闭;但新票仍然说该功能是请求的-甚至在2.8中还没有关闭(STS-2396)。我还没有成功到达那里。没有快乐:(问题说-“当STS为验证目的或为bean图解析Au