Tag: autowired

Spring @Autowired是按名称还是按类型注入bean?

我正在读初春(威利出版社)的书。 在第2章中有一个关于Java配置和@Autowired的示例。 它提供了这个@Configuration类 @Configuration public class Ch2BeanConfiguration { @Bean public AccountService accountService() { AccountServiceImpl bean = new AccountServiceImpl(); return bean; } @Bean public AccountDao accountDao() { AccountDaoInMemoryImpl bean = new AccountDaoInMemoryImpl(); //depedencies of accountDao bean will be injected here… return bean; } @Bean public AccountDao accountDaoJdbc() { AccountDaoJdbcImpl bean = new AccountDaoJdbcImpl(); return bean; } […]

无法自动assembly。 找不到SimpMessagingTemplate类型的bean

我基本上是按照文档中提供的指南在Spring中配置Websockets。 我正在尝试从服务器向客户端发送消息,如 “ 从任何地方发送消息 ”一节中所述 在示例之后,您可以自动assembly一个名为SimpMessagingTemplate的类 @Controller public class GreetingController { private SimpMessagingTemplate template; @Autowired public GreetingController(SimpMessagingTemplate template) { this.template = template; } @RequestMapping(value=”/greetings”, method=POST) public void greet(String greeting) { String text = “[” + getTimestamp() + “]:” + greeting; this.template.convertAndSend(“/topic/greetings”, text); } } 但是,我当前的项目找不到bean“SimpMessagingTemplate”。 (Intellij:’无法自动assembly。没有发现SimpMessagingTemplate类型的bean’。 我在互联网上查了几个例子,但是我找不到如何让Spring创建一个SimpMessagingTemplate实例。 我怎样才能自动assembly它? 编辑: 我决定发送更多背景信息。 这是我目前的websocket配置: Websocket适用于此控制器 @Controller public class […]

在JSP中自动assemblySpring Beans的最简洁方法是什么?

我们目前正在为一个旧的webapp添加一些新function,这个旧的webapp只使用了JSP而没有任何框架。 我们最近添加了Spring,我们希望在修改后的JSP中自动assemblybean,而不是重写所有内容以使用SpringMVC,Struts2或Tapestry5。 我们按类型使用自动assembly,因此它导致在JSP中获得这样的代码,而之前获取Web应用程序上下文(作为“wap”): MyDao myDao = (MyDao) wap.getBeansOfType(MyDao.class).values().toArray()[0]; 我们不想使用这样的代码,而是直接在我们的JSP中自动注入我们的bean,就像在使用@Autowired注释的业务bean中那样。 事实上,我们正在寻找在JSP中注入bean的最简洁方法。 你用什么 ?

NoSuchBeanDefinitionException:没有为依赖项找到类型的限定bean:预期至少有1个bean有资格作为autowire

我发现类似的问题解释了很多门户网站。 但我想这是独特的情况。 我在spring mvc app中收到错误。 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘testController’ defined in file [C:\Program Files (x86)\sts-bundle\pivotal-tc-server-developer-3.1.2.RELEASE\base-instance\wtpwebapps\ExpT1\WEB-INF\classes\com\expt\controller\TestController.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.expt.repositories.CategoryRepository]: No qualifying bean of type [com.expt.repositories.CategoryRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; […]

Spring 4.1 @Qualifier没有工作

我有这样的类,xml配置文件和错误堆栈跟踪。 我不知道为什么@Qualifier不起作用。 我看到错误,他甚至没有做任何事情。 狗 public class SimpleDog implements Dog { @Autowired @Qualifier(“small”) private Size size; private String name; public Size getSize() { return size; } public void setSize(Size size) { this.size = size; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public void giveSound() { […]

Spring自动assembly的bean会导致空指针

我有一个使用服务的记录器类。 每次创建新的记录器时,我都希望能够访问单例范围的日志记录服务。 我将日志记录服务自动装入记录器,但是返回了空指针exception。 我尝试了一些解决方案: 在应用程序上下文中手动定义bean, 试图让记录器进行弹簧管理,但这只会导致更多问题。 我试图在junit测试中使用它,并且我确实指定了上下文文件以使用不同的应用程序上下文。 但即使保持相同,也无法解决问题。 请在下面找到代码: 以下是应用程序上下文的摘录。 以下是Logger类。 package com.platform.utils; import com.platform.services.AsyncLoggingService; import org.joda.time.DateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; public class OurLogger { private static Logger logger; @Autowired private AsyncLoggingervice asyncLoggingService; public OurLogger(Class Clazz) { logger = LoggerFactory.getLogger(Clazz); } public void trace(TraceableObject object, String message) { //Do nothing yet } } […]

@Autowired HttpServletResponse

我正在寻找一种自动assemblyHttpServletResponse 。 它不适用于开箱即用的弹簧,但我发现了这种描述 。 这工作但有点烦人,在那个spring显然有一个机制来使对象请求范围(即HttpServletRequest ),这似乎是一个黑客螺栓顶部。 有没有办法挂钩spring用于HttpServletRequest的相同机制? 并且,任何想法为什么Spring团队决定只使HttpServletRequest能够支持autowire(并排除HttpServletResponse )?

@ServerEndpoint和@Autowired

如何将字段自动装入@ServerEndpoint。 以下不起作用。 @Component @ServerEndpoint(“/ws”) public class MyWebSocket { @Autowired private ObjectMapper objectMapper; } 但是,如果我删除@ServerEndpoint ,它可以正常工作。 我使用的是Spring 3.2.1和Java 7

自动assembly由EasyMock工厂方法生成的bean?

我有一个对我来说真的很奇怪的问题。 我有以下设置: 界面: package com.example; public interface SomeDependency { } 弹簧组件: package com.example; @Component public class SomeClass { } 带有由EasyMock生成的模拟bean的spring test配置: 并进行unit testing: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(“/testconfig.xml”) public class SomeClassTest { @Autowired SomeClass someClass; @Autowired SomeDependency someDependency; @Test public void testSomeClass() throws Exception { assertNotNull(someClass); } @Test public void testSomeDependency() throws Exception { assertNotNull(someDependency); } } 项目编译并且测试通过没有任何问题,即SomeClass […]

按类型弹出列表bean

在Spring中是否有一种方法可以使用类型及其任何子类型的所有bean自动填充列表? 我有一个setter方法,如下所示: setMyProp(List list) 我想在MyType的任何bean和MyType的所有子类中自动assembly。 谢谢,杰夫