gpt4 book ai didi

java - SPRING MVC Controller 注释与 xml

转载 作者:行者123 更新时间:2023-12-01 18:46:47 26 4
gpt4 key购买 nike

对于新项目,我正在寻找要使用哪个框架。我寻找现有框架的更新。

我发现 Spring MVS Controller 非常有趣,在 Controller 本身中,您现在可以定义要访问的 URL。最好的是你不需要重写url,这种功能也是有的,即你可以直接给出url,例如:

\users\amit\stores\store1

之前我必须编写 url 重写才能实现这种方式,而实际的 url 过去是这样的:

\StoreDetails?user=amit&store=store1

我发现它非常好。但转念一想,如果我比较一下,如果我开始将 url 放入 Controller 本身,那么在 1 年后,当我对项目进行了如此多的修改并且有时给出的 url 时,维护起来会不会有点困难to Controller 与 Controller 的名称无关。

例如,在上面的示例中,我可能想搜索存储的详细信息,但通过 url,我将在 StoreController 等中搜索。

你们建议的是很好的做法,使用 xml 或基于注释。如果你们使用基于注释的,您会遇到任何问题吗?

感谢和问候
阿米特

最佳答案

Spring MVC 实现了许多预定义的约定。例如,如果您没有在 Controller 上显式定义 @RequestMapping ,它会将其映射到与 Controller 名称类似的 url。例如,如果您的 Controller 名为 Users,它将自动映射到 url users。如果您将类重命名为 Customers,它将自动映射到 url customers

方法也是如此。

最大的问题是你是否真的想要这个。通常,您不希望内部更改(包括类重命名)直接并自动影响您提供的 API。

如果您选择显式定义映射,请尝试使用某些约定来组织您的项目,这将简化将来的持续支持。您还可以在注释中使用public static final String。所有与 URL 相关的字符串都可以存储在一个类中,例如:

public interface Mapping {
public final static String USERS = "users";
public final static String PERMISSIONS = "permissions";
}

@RequestMapping(Mapping.USERS)
public UserController {
............
}

关于java - SPRING MVC Controller 注释与 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com