Java 关于公共代码部分提取的困惑

问题描述

具体情况是这样的,如果我在controller有一段可以公用的代码,可能另外有几个controller也会用到,代码量也有20行以上,比较长,但这段公共的代码里会有涉及到service层和dao层的地方,可能也不止一处,那这段代码应该如何抽离比较好呢?我在想如果放到一个controller里面,就变成了controller注入controller了,要引用的service接口也会在那个controller类里面,当然这也是我当前在编写的,可我还是觉得有问题。另外我还在想如果用一个类,放static方法,但这样引用的service又都是static,还是有点怪。写成util吧,我个人又觉得它不应该涉及到service层代码这样的情况。各位能提出一下大家的见解吗?

解决方案

写一个BaseController,把能共用的代码分方法写在这个类里面,其它的Controller继承它,使用里面的代码。BaseController不用配Path写成抽象类。

时间: 2025-01-23 02:57:09

Java 关于公共代码部分提取的困惑的相关文章

深入Java编程:Java的字节代码

Java程序员很少注意程序的编译结果.事实上,Java的字节代码向我们提供了 非常有价值的信息.特别是在调试排除Java性能问题时,编译结果让我们可以更 深入地理解如何提高程序执行的效率等问题.其实JDK使我们研究Java字节代码变 得非常容易.本文阐述怎样利用JDK中的工具查看解释Java字节代码,主要包含以 下方面的一些内容: l Java类分解器--javap l Java字节代码是怎样使程序 避免程序的内存错误 l 怎样通过分析字节代码来提高程序的执行效率 l 利用第三方工具反编译Jav

java中关于多态使用的困惑?

问题描述 java中关于多态使用的困惑? A是父类,B是子类.A a = new B();这是多态中的父类引用指向子类对象,可以调用子类中重写了父类的方法. 但我有一点不明白,既然调用重写了父类方法的子类,那么我直接创建一个子类的对象,也可以达到相同的效果,那我为什么还要使用这样的向上转型呢?哪里又需要用到呢? 谢谢大家解惑. 解决方案 你说得是这样的,但是大多数情况下,我们写代码时,关联的都是上层抽象类型,即我们只关心拥有某个对象的上层类型,而不关心它具体是哪种类型,那么不管外界给我们哪种它的

这段java for循环代码的结果怎么不对呢?DOS 输出结果为800.0,编译也没有啥问题啊。

问题描述 这段java for循环代码的结果怎么不对呢?DOS 输出结果为800.0,编译也没有啥问题啊. 如题,代码如下: public class Example41_3 { public static void main(String args[]){ float i=0; double sum=0; for(i=1;i<=3;i++); { sum+=8*(Math.pow(10.0,(i-1))); } System.out.println("计算8+88+888+8888+--

java中static{.......}代码块的作用

问题描述 java中static{.......}代码块的作用 java中static{.......}代码块主要用在哪里,表示什么意思,有什么用,里面主要写什么内容 解决方案 static后不跟方法名,这个块在该类第一次加载的时候运行,就是说比初始化模块还早就运行,一般用于加载该类需要一次性完成的功能使用. 解决方案二: Java中的static静态代码块 解决方案三: 初始化用,不需要创建实例,当你访问这个类时,就会执行 解决方案四: static 就是静态.你可以搜索一下关于静态的解释.网

如何使用gradle将一个混合了java和groovy代码的web项目打war包?

问题描述 如何使用gradle将一个混合了java和groovy代码的web项目打war包? 如题,我现在自己尝试,遇到的问题是在编译的时候java类和groovy类都能被正确的 编译成class文件. 但是使用gradle打war包的时候,groovy的class文件都没有打包进去. 希望有高手来指点一下,谢谢. 顺便附上build.gradle文件内容: apply plugin: 'war' apply plugin: 'groovy' apply plugin: 'eclipse-wtp

用Go语言写Android应用 (2) - 从Android的Java调用Go代码

用Go语言写Android应用 (2) - 从Android的Java调用Go代码 上一篇我们讲到,Go在Android中的作用,就相当于NDK中的C/C++.上节我们学习了参照NDK的方式用纯Go语言来写应用. 但是,也正如在Android中,C/C++主要是通过JNI的方式被Java代码调用,本节我们就学习如何使用Java代码来调用Go代码. Java调Go的JNI例子 Java部分 我们首先来看这个简单得不能再简单的Java部分的代码,只有一个TextView,然后调用Go写的Hello.

Java 构造函数 静态代码块

问题描述 Java 构造函数 静态代码块 public class 静态 { public static void main(String[] args) { person p=new person(); p.show(); person p1=new person("xixi"); p1.show(); } } class person{ ** 这里显示"person"错误** private String name; { cry(); } { System.ou

为什么java web的代码,在经过action之后再跳转回来时,onclick没有效果了

问题描述 为什么java web的代码,在经过action之后再跳转回来时,onclick没有效果了 解决方案 是onsubmit吧,这应该没有问题 解决方案二: 我直接打开这个页面的话,onclick是可以执行的,就是经过后台处理跳转回来的时候就不行了,求大神帮忙!! 解决方案三: 你发一个完整代码吧,包括跳转的页面,这没有onclick 解决方案四: 你发一个完整代码吧,包括跳转的页面,这没有onclick 解决方案五: login.jsp页面 <%@ page language="&

java swing常用代码片段

Java swing 常用代码片段: (1)复制全部 Java代码   JButton copyAll=new JButton("复制全部");               copyAll.addActionListener(new ActionListener() {                   @Override                   public void actionPerformed(ActionEvent e) {