这是一种“什么是@Service注释?”问题,但用另一种方法。因为,我不知道是怎么回事:Spring中@Service注释的功能
我有一个控制器类:
@Controller
public class GreetingController {
@Autowired
SomeBean someBean;
@MessageMapping("/msg")
public String msg() {
someBean.handleMsg();
return "";
}
}
从someBean.handleMsg
中我尝试发送到目的地的响应。 有些事情是这样的:
public class SomeBean {
@Autowired
private SimpMessagingTemplate messagingTemplate;
public handleMsg() {
messagingTemplate.convertAndSend("/topic/someTopic", "Response");
}
}
有配置的两个版本。
喜欢:
- SomeBean在.XML配置
< bean id="someBean" class="package.SomeBean"></bean>
- SomeBean被注释为服务(在第一一个它没有):
像:
@Service
public class SomeBean{...}
- 请注意,在这两种情况下,有没有关于注射等。在这两种情况下客户端成功认购,发送消息的任何问题,消息处理。
的只有区别是:
- 当
SomeBean
有@Service
注解,它给客户端成功的响应,但是当它不有,客户端不接收响应消息,虽然没有任何例外。
这里有一个问题:
- 在这种情况下,究竟是什么呢@服务?有人能解释一下这里发生了什么吗?
获得bean对象没有文件包org.springframework.stereotype的service.java指明服务注释为何使用?我看到它的确如此。 – 2015-03-31 12:04:08
我很难相信你对事件的描述;由于多种原因,未能发送消息会产生相应的异常。其他的东西是不同的。你可能会考虑在服务方法中设置一个断点,并在每种情况下逐步完成。 – chrylis 2015-03-31 17:20:45
@chrylis,也许你是对的,我也想知道为什么我没有得到任何异常,但只是默默无闻的客户端收到什么,当没有服务注释。 – 2015-03-31 17:37:42