我使用spring的IOC连接我的UserService
类型类。
但是我的User
班呢?
我有一个界面User,然后是UserImpl
类。
在我的控制器动作中,我只是这样做:
User u = new UserImpl();
或者有时候使用IOC也有意义吗?
有时我在基于某些条件实例化类时也使用不同的构造函数。我猜你在这些情况下陷入困境?
答案 0 :(得分:3)
对于像User这样的业务对象使用依赖注入或IOC是没有意义的,因为业务对象不是类的依赖项,它们是使用它们的类的一部分。
答案 1 :(得分:1)
默认情况下,Spring IOC会为您创建单身人士。这意味着使用您的应用程序的所有用户线程将共享该单个类实例。这通常适用于服务类型类。如果需要,可以将此单例行为更改为每个请求(原型)的对象,但这将导致您也为非sigleton对象的用户更改此设置。
域/业务类是状态满的,最简单的是每次请求创建一次这样的对象以避免并发问题。