关于Spring中单例问题!

JavaWeb开发中,应用Spring框架,学习的时候了解到SpringMVC创建的Controller,Service,Dao都是单例的。而每一个请求都是一个线程调用,一个请求调用的时候,如果查询了很久,同时另一个请求进入,查询的还可以,那两个请求同时做完查询,进行赋值,会出现数据赋值出错吗?因为是单例,对象是同一个?

单例只影响全局变量。所以用springmvc的时候在controller和service里我们一般不写全局变量。controller是单例的一个请求进来调用方法,每个请求改的都是局部变量。互不影响

这些是单例是对的,但是谁会给Controller,Service,Dao里面设置属性呢?