假设我们有两个不同的控制器类, AController.java
以及 BController.java
.
public class AController {
@Autowired
private AdminService adminService;
}
public class BController {
@Autowired
private AdminService adminService;
}
我不知道这样行不行。
+编辑
adminservice(接口)前三名来自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);
}
}
3条答案
按热度按时间6ojccjat1#
我建议对服务类采用以下方法,即逻辑将引导您采用的结构方式
NULLPointerException
```@Service
public class AdminServiceImpl implements AdminService{
@Override
public List selectNormalList() {
return adminDao.selectNormalList();
}
@Controller
public class AController {
@Autowired
private AdminService adminService;
}
@Controller
public class BController {
@Autowired
private AdminService adminService;
}
eanckbw92#
是的。
这就是依赖注入的要点。您可以将依赖项注入任何其他需要它的内容中。
不过,一定要注意你在注射什么;如果两个控制器共享相同的功能,以至于它们具有相同的依赖关系,那么它们真的应该是两个控制器吗?
vltsax253#
对。没关系。spring将在两个控制器中注入adminservice。必须在acontroller和bcontroller上使用@controller,在adminservice类上使用@service。