2017-11-29 22 views
0

春のコントローラのコードを抽象で複製しないためのベストコード練習。春の抽象的な例

私はhelpfulMethodを取り出し、抽象化を使用して外部からそれらを接続する方法例えば二つのコントローラ

@Controller 
public class DoSomethingController { 

    private Entity helpfulMethod(Form form) { 
     Entity e = new Entity(); 
     return e; 
    } 
    @PostMapping("/something") 
    public String something(Form form){ 
     helpfulMethod(form); 
    } 
} 

@Controller 
public class DoSomethingElseController { 

    private Entity helpfulMethod(Form form) { 
     Entity e = new Entity(); 
     return e; 
    } 

    @PostMapping("/somethingElse") 
    public String somethingElse(Form form){ 
     helpfulMethod(form); 
    } 
} 

を持っていますか?

答えて

1

私はあなたがコントローラ

public abstract class BaseDoSomethingController { 

    protected Entity helpfulMethod(Form form) { 
     Entity e = new Entity(); 
     return e; 
    } 
} 

の両方のスーパークラスを導入し、両方のあなたのコントローラが前記第二のコントローラ

ため

@Controller 
public class DoSomethingController extends BaseDoSomethingController { 

    @PostMapping("/something") 
    public String something(Form form){ 
     helpfulMethod(form); 
    } 
} 

と同じ基本クラスを継承できるようにする必要があると思います

関連する問題