我不知道,如果允许我问一个以上的问题在后,但在这里它是,有关注释和线程安全春初学者问题
例如,我有以下的,
控制器
@Controller
public class FooController{
@Autowired
private FooService fooService;
@RequestMapping(value="/foo", method=RequestMethod.POST)
public @ResponseBody foo(@RequestBody FooRequest request){
}
}
@Controller
public class BarController{
@Autowired
private FooService fooService;
@RequestMapping(value="/bar", method=RequestMethod.POST)
public @ResponseBody bar(@RequestBody FooRequest request){
}
}
服务
public class FooService{
private Foo foo;
public Foo getFoo() {
return foo;
}
public void setFoo(Foo foo) {
this.foo = foo;
}
public String doFoo(String str){
return foo.doFoo(str);
}
}
类做的工作
public class Foo{
public String doFoo(String str){
return (str + " is foo");
}
}
使用依赖注入创造豆
<context:annotation-config/>
<bean id="fooService" class="com.myapp.service.FooService">
<property name="foo" ref="foo"></property>
</bean>
<bean id="foo" class="com.myapp.foo.Foo">
</bean>
我的问题是:
- 我没有
FooService
类使用@service
注解,我应该使用它,并为什么? - 这个配置是否是线程安全的,而为什么(它是如何实现的,如果它是线程安全的)?
- 我在哪里可以找到关于Spring设计中使用的图层(dao图层,服务图层...)以及这种设计的目的的教程?
感谢您对bean对象或调用bean对象方法的快速回复,“同步障碍”? – user200340 2012-07-20 08:51:11
在整个应用程序上下文中,AFAIK。 – 2012-07-20 08:53:25
根据[SPR-8767](https://jira.springsource.org/browse/SPR-8767),AFAIK bean初始化是单线程的, – soulcheck 2012-07-20 09:07:34