我是 Spring 的新手,所以我可能会问一个愚蠢的问题,但是无论如何...
我已经建立了Spring MVC 4.0应用程序。
我的设置是这样的:
Controller >>服务>> DAO
在 Controller 级别,我使用大约4到5个不同的@Autowired
变量,如下所示
@Autowired
private ClientService clientService;
@Autowired
private CommentService commentService;
@Autowired
private SearchService searchService;
在服务级别I Autowire中,还有几个DAO
@Autowired
SearchDAO searchDAO;
@Autowired
private ActivityDAO activityDAO;
@Autowired
private UserService userService;
我大约有10个不同的 Controller ,其中大多数我都使用
@Autowire
进行相同的服务,所以我的问题可以吗?是否可以根据需要多次使用
@Autowire
,否则会占用过多的内存?会对我的应用程序产生其他影响吗?我使用Spring 4.0 + Hibernate JPA
最佳答案
@Autowired
没有问题。
Autowired在Spring上下文中查找bean并将其分配给变量。它只是引用Service/Dao bean的同一对象。它不会创建重复项。
但是将如此多的对象注入(inject)一个类是一个类做了很多事情的标志。尽可能检查将类重构为多个类的可能性。
关于java - 多次使用@Autowired,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35803095/