【发布时间】:2013-07-08 08:31:12
【问题描述】:
当我注入了 AdminService 时,java.lang.NullPointerException 出现了,尽管我在另一个托管 bean 中以相同的方式注入了这个 bean 并且一切正常:
@ManagedBean
@SessionScoped
public class ScheduleController implements Serializable {
/**
*
*/
private static final long serialVersionUID = -1489523494215832724L;
private ScheduleModel eventModel;
@ManagedProperty(value = "#{adminService}")
AdminService adminService;
private ScheduleEvent event = new DefaultScheduleEvent();
public ScheduleController() {
List<Service> = adminService.getAllService();
}
public AdminService getAdminService() {
return adminService;
}
public void setAdminService(AdminService adminService) {
this.adminService = adminService;
}
AdminService 实现:
Service("adminService")
public class AdminServiceImpl implements AdminService,Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Autowired
AdminDao adminDao ;
// adminDao injected by spring
@Transactional
public void add(Admin admin) {
adminDao.save(admin);
}
@Transactional
public void edit(Admin admin) {
adminDao.update(admin);
}
@Transactional
public void delete(Admin admin) {
adminDao.delete(admin);
}
@Transactional
public Admin getAdmin(Integer adminId) {
return adminDao.findById(adminId);
}
@Transactional
public List<Admin> getAllAdmin() {
return adminDao.findAll();
}
/**
* @return the adminDao
*/
public AdminDao getAdminDao() {
return adminDao;
}
/**
* @param adminDao the adminDao to set
*/
public void setAdminDao(AdminDao adminDao) {
this.adminDao = adminDao;
}
@Override
public Admin authenticate(String adminName, String adminPass) {
return this.adminDao.authenticate(adminName, adminPass);
}
}
【问题讨论】:
-
你能把bean的配置贴出来吗?
-
我发布了 AdminService 实现
-
我建议您为该服务提供一个访问它的应用程序 bean(您可以通过代码直接加载它以使用注释的顺序)并将该 bean 注入您视图的每个 bean 中,以能够随时随地访问服务。