我不确定我是否可以在一篇文章中提出多个问题,但在这里,
例如,我有以下内容,
控制器
@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");
}
}
使用依赖注入创建 bean
<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>
我的问题是:
- 我没有
@service
在课堂上使用注释FooService
,我应该使用它,为什么? - 这个配置是否是线程安全的,为什么(如果它是线程安全的,它是如何实现的)?
- 我在哪里可以找到有关 Spring 设计中使用的层(dao 层、服务层......)的教程以及这种设计的目的?