类的单例模式网上有很多,比如最简单的这种,先申明一下。

public class DubboPoliceDeviceConsume extends BaseService{

    private DubboPoliceDeviceConsume(){}//将构造函数申明为private,只能由本类成员调用,其他类无法调用,保障了单例。其他类就无法new一个对象了。
    private static DubboPoliceDeviceConsume dubboPoliceDeviceConsume = null;//申明一个实例,private说明只有这个类可以使用,static说明有且只有这一个成员对象,不会每次生成一个类对象的时候你就生成一个新的成员
//private static  和  public static 都是静态变量,在类加载时就定义,不需要创建对象,但是private static 是私有的,不能在外部访问,只能通过静态方法调用,这样可以防止对变量的修改
public static DubboPoliceDeviceConsume getInstance() {
if(null == dubboPoliceDeviceConsume){
            dubboPoliceDeviceConsume = new DubboPoliceDeviceConsume();
        }
        return dubboPoliceDeviceConsume;  
    }  

    @SuppressWarnings("unchecked")
    public ResultPojo getPagePoliceDeviceInfo(String deviceCode,String deviceTypeCode,String deviceModel,String localDepartment,String usageState, String locationId,String orderSeq,Page page){
        DubboPoliceDeviceInfoService service = (DubboPoliceDeviceInfoService) SpringContextUtil.getBean("dubboPoliceDeviceInfoService");
        ResultPojo pojo = service.getPageDeviceInfoOrd(deviceCode, deviceTypeCode, deviceModel, localDepartment,usageState, locationId,orderSeq,page);
        return pojo;
    }

//添加
    public ResultPojo addPoliceDeviceInfo(PoliceDeviceInfoDto policeDeviceInfoDto,String personName){
        DubboPoliceDeviceInfoService service = (DubboPoliceDeviceInfoService) SpringContextUtil.getBean("dubboPoliceDeviceInfoService");
        ResultPojo resultPojo=service.addDeviceInfo(policeDeviceInfoDto,personName);
        return resultPojo;
    }
}

 这个是将类变成单例模式,还有一种情况就是类本身是单例模式,但是里面new一个新的其他对象,也可以改造为单例模式

@Service
public class RegionManageService {

    private static DubboRegionInfoService dubboRegionInfoService = null;//原本每次都需要重新调用一次生成对象的,比如上面的DubboPoliceService,但是这里写成单例private DubboRegionInfoService getInstance(){//private说明私有,只能本类调用就够了,不需要static,   public static更普遍适用于方法,有了public表明其他类也可以调用,而且不需要实例化。private static适用于定义成员对象。 
        if(null == dubboRegionInfoService){
            dubboRegionInfoService = (DubboRegionInfoService)SpringContextUtil.getBean("dubboRegionInfoService"); 
        }
        return dubboRegionInfoService;
    }
    
    public ResultPojo getRegionInfo(){
        return this.getInstance().getRegionInfo();
    }    
}