热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JAVA静态(static)方法调用service层(静态方法注入service层)两种解决方案

第一种方案:importcn.bipartner.goblin.base.pojo.page.LayuiPageInfo;importcn.bipartner.g

第一种方案 : 

import cn.bipartner.goblin.base.pojo.page.LayuiPageInfo;
import cn.bipartner.goblin.customer.entity.CrmCustomerManage;
import cn.bipartner.goblin.customer.model.params.CrmCustomerManageParam;
import cn.bipartner.goblin.customer.service.CrmCustomerManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import javax.annotation.PostConstruct;
import java.util.List;@Controller
@RequestMapping("/crmCustomer1")
public class TestStatic1 {//通过 @Autowired 将service 注入到所在类中@Autowiredprivate CrmCustomerManageService crmCustomerManage;//定义一个本类名的静态变量private static TestStatic1 testStatic1;/*** @PostConstruct该注解被用来修饰一个非静态的void()方法;* 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行* 方法执行先后顺序为: Constructor > @Autowired > @PostConstruct* 将service 接口名称赋值给静态变量*/@PostConstructpublic void init() {testStatic1 = this;testStatic1.crmCustomerManage = this.crmCustomerManage;}/*** // 注意:重要的事情说三遍 这里测试的 时候不能使用main 方法, 这里测试的 时候不能使用main 方法, 这里测试的 时候不能使用main 方法,* // 最好放入controller类 里面测试,我这里放入 controller里面测试的。* 通过静态变量调用service接口方法*/@RequestMapping("/getCustomerManageList")public static void getCustomerManageList(CrmCustomerManageParam param){LayuiPageInfo pageBySpec = testStatic1.crmCustomerManage.findPageBySpec(param);pageBySpec.getData();if(null != pageBySpec.getData()){List list = pageBySpec.getData();for (CrmCustomerManage crmCustomerManage : list) {System.out.println( crmCustomerManage.toString());}}}
}

第二种方案:

import cn.bipartner.goblin.base.pojo.page.LayuiPageInfo;
import cn.bipartner.goblin.customer.entity.CrmCustomerManage;
import cn.bipartner.goblin.customer.model.params.CrmCustomerManageParam;
import cn.bipartner.goblin.customer.service.CrmCustomerManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;@Controller
@RequestMapping("/crmCustomer2")
public class TestStatic2 {//静态住入到自己的类中private static CrmCustomerManageService crmCustomerManageService;//将静态属性以入参(形参)的方式传入一个方法中,然后将此方法通过 @Autowired 注入到Spring容器中@Autowiredpublic void setService(CrmCustomerManageService crmCustomerManageService) {TestStatic2.crmCustomerManageService = crmCustomerManageService;}//测试方法,通过 类名.service.方法 的方式调用service接口// 注意:重要的事情说三遍 这里测试的 时候不能使用main 方法, 这里测试的 时候不能使用main 方法, 这里测试的 时候不能使用main 方法,// 最好放入controller类 里面测试,我这里放入 controller里面测试的。@RequestMapping("/getCustomerManageList")public static void getCustomerManageList(CrmCustomerManageParam param){LayuiPageInfo pageBySpec = TestStatic2.crmCustomerManageService.findPageBySpec(param);pageBySpec.getData();if(null != pageBySpec.getData()){List list = pageBySpec.getData();for (CrmCustomerManage crmCustomerManage : list) {System.out.println( crmCustomerManage.toString());}}}
}


推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
author-avatar
乌鸦晕倒_767
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有