为了账号安全,请及时绑定邮箱和手机立即绑定

Spring 中的抽象控制器

Spring 中的抽象控制器

RISEBY 2023-05-10 14:21:32
几周前我开始使用 Spring Boot,但我仍然无法理解“AbstractController”的概念。public abstract class AbstractController {    protected static final String CUSTOMER_SESSION_ID = "auth";    protected static final String SHOOPY_CART_ID = "SHOOPY_CART";    protected static final String REFERER_HEADER = "Referer";    @Autowired    protected CatalogService catalogService;    @Autowired    protected TotalAmountCalculator amountCalculator;    @Autowired    protected CustomerRepository customerRepo;    @Autowired    protected CartRepository cartRepository;    //Insert necessary data to the header tag    public void populateHeaderData(Model model, Cart activeCart) {        HeaderDTOBuilder.HeaderDTO headerDTO = new HeaderDTOBuilder().                withAmountCalculator(amountCalculator)                .withActiveCart(activeCart)                .withCategories(catalogService.getCategories()).build();        model.addAttribute("headerDTO", headerDTO);    }    public void populateHeaderData(Model model, HttpServletRequest request) {        Cart activeCart = getCartFrom(request);        if(activeCart == null){            activeCart = new Cart();        }        populateHeaderData(model, activeCart);    }}我很想了解 Controller 和 AbstractController 之间的区别。
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

添加Abstract到类的名称是一种简单的方法来指定这个类是abstract(在你的情况下声明public abstract class)。这意味着开发此类是为了合并一些将被多个子类重用的通用功能。JDK本身也有这样的类java.util.AbstractList

查看完整回答
反对 回复 2023-05-10
?
莫回无

TA贡献1865条经验 获得超7个赞

只有当您拥有或计划拥有多个具有共享逻辑或实例变量的控制器类时,您才会创建一个抽象控制器。



查看完整回答
反对 回复 2023-05-10
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信