你在春天的mvc应用程序中连接了什么豆?

时间:2010-07-01 17:22:10

标签: java spring spring-mvc inversion-of-control

我使用spring的IOC连接我的UserService类型类。

但是我的User班呢?

我有一个界面User,然后是UserImpl类。

在我的控制器动作中,我只是这样做:

User u = new UserImpl(); 

或者有时候使用IOC也有意义吗?

有时我在基于某些条件实例化类时也使用不同的构造函数。我猜你在这些情况下陷入困境?

2 个答案:

答案 0 :(得分:3)

对于像User这样的业务对象使用依赖注入或IOC是没有意义的,因为业务对象不是类的依赖项,它们是使用它们的类的一部分。

答案 1 :(得分:1)

默认情况下,Spring IOC会为您创建单身人士。这意味着使用您的应用程序的所有用户线程将共享该单个类实例。这通常适用于服务类型类。如果需要,可以将此单例行为更改为每个请求(原型)的对象,但这将导致您也为非sigleton对象的用户更改此设置。

域/业务类是状态满的,最简单的是每次请求创建一次这样的对象以避免并发问题。