鍍金池/ 問答/Java/ springmvc 寫的一個基類controller為什么繼承的時候注解沒有同步

springmvc 寫的一個基類controller為什么繼承的時候注解沒有同步過來?

public interface BaseController<T> {

    @GetMapping()
    String getAllStudent();

    @GetMapping("/{id}")
    String getStudent();

    @PostMapping()
    String saveStudent(T t);

    @PutMapping("/{id}")
    String updateStudent(T t);

    @DeleteMapping("/{id}")
    String delete();

    @DeleteMapping()
    String deleteAll();
}
package com.qtay.gls.controller;

import com.qtay.gls.dao.entity.Student;
import com.qtay.gls.service.IStudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
@RequestMapping(value = "/student", produces = "application/json; charset=utf-8")
@PreAuthorize("hasRole('USER')")
public class StudentController implements BaseController<Student>{

    @Autowired
    IStudentService studentService;

    @Override
    public String getAllStudent() {
        System.out.println("getAllStudent");
        return null;
    }

    @Override
    public String getStudent() {
        System.out.println("getStudent");

        return null;
    }

    @Override
    public String saveStudent(Student student) {
        System.out.println("saveStudent");

        return null;
    }

    @Override
    public String updateStudent(Student student) {
        System.out.println("updateStudent");

        return null;
    }

    @Override
    public String delete() {
        System.out.println("delete");

        return null;
    }

    @Override
    public String deleteAll() {
        return null;
    }
}

StudentController繼承BaseController類的時候為什么沒有把@PostMapping注解同步過來?

回答
編輯回答
詆毀你

public abstract class BaseController<T> 呢

2018年7月9日 16:43
編輯回答
墨小白
@Target(value=METHOD)
 @Retention(value=RUNTIME)
 @Documented
 @RequestMapping(method=POST)
public @interface PostMapping

@PostMapping 這個注解,沒有聲明為@Inherited,不能被繼承。

2017年12月31日 10:27