java - Spring MVC 是否可能与多个控制器相同@autowired?
问题描述
假设我们有两个不同的控制器类,AController.java
并且BController.java
.
public class AController {
@Autowired
private AdminService adminService;
}
public class BController {
@Autowired
private AdminService adminService;
}
我想知道这是否可以。
+ 编辑
AdminService(Interface) 前三位来自Acontroller,一个来自BController。在selectNormalList()
创建selectCouponByTerm()
.
public interface AdminService {
List<Member> selectNormalList();
List<Member> selectPartnerList();
List<Coupon> selectCouponByDate(String date);
List<Coupon> selectCouponByTerm(String startDate, String endDate);
}
AdminServiceImpl(实现接口AdminService)
@Service
public class AdminServiceImpl implements AdminService{
@Autowired
private static AdminDao adminDao;
@Override
public List<Member> selectNormalList() {
return adminDao.selectNormalList();
}
@Override
public List<Member> selectPartnerList() {
return adminDao.selectPartnerList();
}
@Override
public List<Coupon> selectCouponByDate(String date) {
return adminDao.selectCouponByDate(date);
}
@Override
public List<Coupon> selectCouponByTerm(String startDate, String endDate) {
return adminDao.selectCouponByTerm(startDate, endDate);
}
}
解决方案
是的。
这就是依赖注入的重点。您可以将依赖项注入到其他任何需要它的地方。
不过,请注意你在哪里注射什么;如果两个控制器共享相同的功能以至于它们具有相同的依赖关系,那么它们真的应该是两个控制器吗?
推荐阅读
- c# - 使用 AD B2C 对 .NET Core 3.0 WPF 桌面客户端进行身份验证,如何使用默认操作系统浏览器?
- css - 为什么“*”CSS 样式会覆盖“按钮”或“导航按钮”样式?
- python - 计算字典中大于 Python 中某个数字的值?
- html - 在 HTML 表格单元格中调整 SVG 大小
- angular - 如何从打字稿中的数组中删除项目
- c++ - 如何 push_back 结构内向量中的对象
- python - 如何在python中正确下载股票数据
- php - Laravel 存储经纬度
- php - PHP:在 RTF 中用 str_replace 替换不一致
- c# - AspNetCore AspIdentity 依赖注入 PasswordHaserOptions