Java @autowire注释不工作

Java @autowire注释不工作,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我有一个控制器GGSNAcceptController.java: package com.viettel.pcrf.controller; import com.viettel.fw.Exception.LogicException; import com.viettel.fw.dto.BaseMessage; import com.viettel.fw.web.controller.BaseController; import com.viettel.pcrf.common.Const;

我有一个控制器GGSNAcceptController.java:

package com.viettel.pcrf.controller;

import com.viettel.fw.Exception.LogicException;
import com.viettel.fw.dto.BaseMessage;
import com.viettel.fw.web.controller.BaseController;
import com.viettel.pcrf.common.Const;
import com.viettel.pcrf.dto.GgsnAcceptDTO;
import com.viettel.pcrf.webconfig.service.GgsnAcceptService;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component
@ManagedBean(name = "ggsnAcceptController")
@Scope("view")
public class GGSNAcceptController extends BaseController implements Serializable, BaseTableCTRL {

    /**
     * VARIABLES & GETTER/SETTER
     */
    private GgsnAcceptDTO ggsnAccept;
    private GgsnAcceptDTO selectedGgsnAccept;
    private List<GgsnAcceptDTO> listGgsnAccept;

    public GgsnAcceptDTO getGgsnAccept() {
        return ggsnAccept;
    }

    public void setGgsnAccept(GgsnAcceptDTO ggsnAccept) {
        this.ggsnAccept = ggsnAccept;
    }

    public GgsnAcceptDTO getSelectedGgsnAccept() {
        return selectedGgsnAccept;
    }

    public void setSelectedGgsnAccept(GgsnAcceptDTO selectedGgsnAccept) {
        this.selectedGgsnAccept = selectedGgsnAccept;
    }

    public List<GgsnAcceptDTO> getListGgsnAccept() {
        return listGgsnAccept;
    }

    public void setListGgsnAccept(List<GgsnAcceptDTO> listGgsnAccept) {
        this.listGgsnAccept = listGgsnAccept;
    }

    /**
     * SERVICE
     *
     */

    @Autowired
    private GgsnAcceptService ggsnAcceptServ;

    /**
     * INIT
     *
     */

    @PostConstruct
    @Override
    public void init() {
        updateCtrl();
    }

    @Override
    public void updateCtrl() {
        clear();
        System.out.println(ggsnAcceptServ == null);
        listGgsnAccept = ggsnAcceptServ.findAll();
    }

    private String ggsnAcceptSelected;

    @Override
    public void updateDB() {
        try {
            if (ggsnAccept == null) {
                throw new LogicException("nullSelected", "GGSN Config is not yet selected!");
            }

            if (formStatus == Const.BTN_ADD && ggsnAcceptServ.isExisted(ggsnAccept)) {
                throw new LogicException("insertExisted", "GGSN Config existed!");
            }

//          if (systemCfgSelected != null && systemCfgSelected.equals(systemCfg.getSystemCfgName()) && langServ.isExisted(systemCfg)) {
//              throw new LogicException("updateExisted", "GGSN Config is existed!");
//          }
            BaseMessage msg = ggsnAcceptServ.updateGgsn(ggsnAccept);

            if (msg.isSuccess()) {
                reportSuccess("msgInfo", "Success");
            }

            updateCtrl();
            selectedGgsnAccept = (GgsnAcceptDTO) msg.getOutputObject();

        } catch (LogicException ex) {
            reportError("msgInfo", ex.getDescription());
        } catch (Exception ex) {
            logger.error(ex, ex);
        }
    }

    @Override
    public void deleteDB() {
        try {
            if (ggsnAccept == null) {
                throw new LogicException("nullSelected", "GGSN Config is not selected yet!");
            }

            BaseMessage msg = ggsnAcceptServ.deleteGgsn(ggsnAccept);

            if (msg.isSuccess()) {
                reportSuccess("msgInfo", "msg.delete.success");
            }

            updateCtrl();

        } catch (LogicException ex) {
            reportError("msgInfo", ex.getDescription());
        } catch (Exception ex) {
            logger.error(ex, ex);
        }
    }

    @Override
    public void prepareAdd() {
        ggsnAccept = new GgsnAcceptDTO();
        selectedGgsnAccept = null;
    }

    @Override
    public void prepareEdit() {
        if (selectedGgsnAccept != null) {
            ggsnAccept = selectedGgsnAccept;
        }
    }

    @Override
    public void prepareDelete() {
        if (selectedGgsnAccept != null) {
            ggsnAccept = selectedGgsnAccept;
        }
    }

    @Override
    public void clear() {
        selectedGgsnAccept = null;
        ggsnAccept = null;
    }

    @Override
    public void onRowChangeListener() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}
包com.viettel.pcrf.controller;
导入com.viettel.fw.Exception.LogicException;
导入com.viettel.fw.dto.BaseMessage;
导入com.viettel.fw.web.controller.BaseController;
导入com.viettel.pcrf.common.Const;
导入com.viettel.pcrf.dto.GgsnAcceptDTO;
导入com.viettel.pcrf.webconfig.service.GgsnAcceptService;
导入java.io.Serializable;
导入java.util.List;
导入javax.annotation.PostConstruct;
导入javax.faces.bean.ManagedBean;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.beans.factory.annotation.Qualifier;
导入org.springframework.context.annotation.Scope;
导入org.springframework.stereotype.Component;
@组成部分
@ManagedBean(name=“ggsnAcceptController”)
@范围(“视图”)
公共类GGSNAcceptController扩展BaseController实现可序列化的BaseTableCTRL{
/**
*变量和GETTER/SETTER
*/
私人ggsnAccept至ggsnAccept;
私人GGS已接受选择的GGS接受;
私有列表列表被接受;
公共GgsnAcceptDTO getGgsnAccept(){
返回ggsnAccept;
}
公共无效设置ggsnAccept(GgsnAcceptDTO ggsnAccept){
this.ggsnAccept=ggsnAccept;
}
公共GGS已接受以获取selectedggsnaccept(){
返回Selectedggsnacept;
}
公共无效设置selectedGgsnAccept(GGS接受selectedGgsnAccept){
this.selectedGgsnAccept=selectedGgsnAccept;
}
公共列表getListGgsnAccept(){
返回listGgsnAccept;
}
公共无效设置listGgsnAccept(列表listGgsnAccept){
this.listggsnaaccept=listggsnaaccept;
}
/**
*服务
*
*/
@自动连线
专用GgsnAcceptService ggsnAcceptServ;
/**
*初始化
*
*/
@施工后
@凌驾
公共void init(){
updatetrl();
}
@凌驾
public void updatetrl(){
清除();
System.out.println(ggsnAcceptServ==null);
listGgsnAccept=ggsnaccceptserv.findAll();
}
私有字符串ggsnAcceptSelected;
@凌驾
public void updateDB(){
试一试{
if(ggsnAccept==null){
抛出新的LogicException(“nullSelected”,“尚未选择GGSN配置!”);
}
如果(formStatus==Const.BTN_ADD&&ggsnAcceptServ.isExisted(ggsnAccept)){
抛出新的LogicException(“insertExisted”,“GGSN配置已存在!”);
}
//if(systemCfgSelected!=null&&systemCfgSelected.equals(systemCfg.getSystemCfgName())&&langServ.isExisted(systemCfg)){
//抛出新的LogicException(“updateExisted”,“GGSN配置已存在!”);
//          }
BaseMessage msg=ggsnAcceptServ.updategsn(ggsnAccept);
if(msg.issucess()){
reportSuccess(“msgInfo”、“Success”);
}
updatetrl();
选择edggsnaccept=(GgsnAcceptDTO)msg.getOutputObject();
}捕获(逻辑异常){
reportError(“msgInfo”,例如getDescription());
}捕获(例外情况除外){
记录器错误(ex,ex);
}
}
@凌驾
公共void deleteDB(){
试一试{
if(ggsnAccept==null){
抛出新的LogicException(“nullSelected”,“尚未选择GGSN配置!”);
}
BaseMessage msg=ggsnAcceptServ.deleteGgsn(ggsnAccept);
if(msg.issucess()){
reportSuccess(“msgInfo”、“msg.delete.success”);
}
updatetrl();
}捕获(逻辑异常){
reportError(“msgInfo”,例如getDescription());
}捕获(例外情况除外){
记录器错误(ex,ex);
}
}
@凌驾
公共空间(D){
ggsnAccept=新的GgsnAcceptDTO();
selectedggsnacept=null;
}
@凌驾
公共信息技术{
如果(Selectedggsnacept!=null){
ggsnAccept=已选择的EDGGSNACEPT;
}
}
@凌驾
公共作废准备删除(){
如果(Selectedggsnacept!=null){
ggsnAccept=已选择的EDGGSNACEPT;
}
}
@凌驾
公共空间清除(){
selectedggsnacept=null;
ggsnAccept=null;
}
@凌驾
public void onRowChangeListener(){
抛出新的UnsupportedOperationException(“尚未受支持”);//若要更改生成的方法体,请选择“工具”“模板”。
}
}
接口GgsnAcceptService.java:

package com.viettel.pcrf.webconfig.service;

import com.viettel.fw.dto.BaseMessage;
import com.viettel.pcrf.dto.GgsnAcceptDTO;
import java.util.List;

public interface GgsnAcceptService {

    public List<GgsnAcceptDTO> findAll();

    public List<GgsnAcceptDTO> findAll(List filters);

    public BaseMessage updateGgsn(GgsnAcceptDTO ggsn) throws Exception;

    public BaseMessage deleteGgsn(GgsnAcceptDTO ggsn) throws Exception;

    public boolean isExisted(GgsnAcceptDTO ggsn) throws Exception;
}
package com.viettel.pcrf.webconfig.service;
导入com.viettel.fw.dto.BaseMessage;
导入com.viettel.pcrf.dto.GgsnAcceptDTO;
导入java.util.List;
公共接口GgsnAcceptService{
公共列表findAll();
公共列表findAll(列表过滤器);
public BaseMessage updateGgsn(GgsnAcceptDTO ggsn)抛出异常;
public BaseMessage deleteGgsn(GgsnAcceptDTO ggsn)抛出异常;
公共布尔isExisted(GgsnAcceptDTO ggsn)抛出异常;
}
以及实现上述接口的类:

package com.viettel.pcrf.webconfig.service;

import com.viettel.fw.common.util.extjs.FilterRequest;
import com.viettel.fw.dto.BaseMessage;
import com.viettel.pcrf.webconfig.repo.GgsnAcceptRepository;
import com.viettel.pcrf.common.util.mapper.GgsnAcceptMapper;
import com.viettel.pcrf.dto.GgsnAcceptDTO;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.viettel.service.BaseServiceImpl;
import java.util.ArrayList;

@Service
public class GgsnAcceptServiceImpl extends BaseServiceImpl implements GgsnAcceptService {

    private GgsnAcceptMapper mapper = new GgsnAcceptMapper();

    @Autowired
    private GgsnAcceptRepository repository;

    public Logger logger = Logger.getLogger(GgsnAcceptService.class);

    @Override
    public List<GgsnAcceptDTO> findAll(List filters) {
        return mapper.toDtoBean(repository.findAll(repository.toPredicate(filters)));
    }

    @Override
    public List<GgsnAcceptDTO> findAll() {
        return mapper.toDtoBean(repository.findAll());
    }

    @Override
    public BaseMessage updateGgsn(GgsnAcceptDTO ggsn) throws Exception {
        BaseMessage msg = new BaseMessage();
        GgsnAcceptDTO newGgsn = mapper.toDtoBean(repository.saveAndFlush(mapper.toPersistenceBean(ggsn)));
        msg.setOutputObject(newGgsn);
        msg.setSuccess(true);
        return msg;
    }

    @Override
    public boolean isExisted(GgsnAcceptDTO ggsn) throws Exception {
        List<FilterRequest> listReq = new ArrayList<>();
        listReq.add(new FilterRequest("IP", ggsn.getIp()));
        return repository.findOne(repository.toPredicate(listReq)) != null;
    }

    @Override
    public BaseMessage deleteGgsn(GgsnAcceptDTO ggsn) throws Exception {
        BaseMessage msg = new BaseMessage();
        repository.delete(mapper.toPersistenceBean(ggsn));
        msg.setSuccess(true);
        return msg;
    }

}
package com.viettel.pcrf.webconfig.service;
导入com.viettel.fw.common.util.extjs.FilterRequest;
导入com.viettel.fw.dto.BaseMessage;
导入com.viettel.pcrf.webconfig.repo.GgsnAcceptRepository;
导入com.viettel.pcrf.common.util.mapper.GgsnAcceptMapper;
导入com.viettel.pcrf.dto.GgsnAcceptDTO;
导入java.util.List;
导入org.apache.log4j.Logger;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Service;
导入com.viettel.service.BaseServiceImpl;
导入java.util.ArrayList;
@服务
公共类GgsnAcceptServiceImpl扩展BaseServiceImpl实现GgsnAcceptService{
私有GgsnAcceptMapper映射器=新的GgsnAcceptMapper();
@自动连线
私有GgsnAcceptRepository存储库;
public Logger=Logger.getLogger(GgsnAcceptService.class);
@凌驾
公共列表findAll(列表过滤器){
返回mapp
ggsnAcceptServ
@Component
@ManagedBean(name = "ggsnAcceptController")
@Scope("view")