gpt4 book ai didi

java - 在 spring 应用程序中放置文件 Controller 的位置

转载 作者:行者123 更新时间:2023-11-29 04:35:01 25 4
gpt4 key购买 nike

因此,我对 spring 应用程序的不同层进行了研究,到目前为止,对于我的第一个 spring 应用程序,我认为我已经做得很好。我对将 FileController 类放在哪里感到困惑。它甚至可能根本不是 Controller ,而是更多的服务,我不确定。也许这只是一个坏主意,我应该真正使用像 Spring batch 这样的东西。我只是认为我不需要那种类型的可扩展性。我认为我可能做的最复杂的事情是读写最多 5,000 行的 excel 文件。我将扩展下面的文件 Controller 以读写文本和 .xls 文件。这应该是一个 Controller 并留在 spring mvc web 应用程序的 Controller 目录中,还是应该是服务并在服务目录中,或者这应该是一个 bean 和其他目录?文件 Controller 将只能由服务对象访问,该服务对象将由 Spring MVC Controller 通过发布或获取请求调用。我认为我的经验不足在这里真的很闪耀。

基本上我应该使用哪个注释:@Controller、@Bean、@Service?

我读到 @Controller 注释主要仅用于请求映射。但是拥有不基于网络的 Controller 是有意义的。

我应该只使用 Spring Batch 吗?

类示例

public class FileController {

List<String> readFile(String filename) { //some impl }
String readFile(String filename) { //some impl }

void writeFile(List<String> content) { //some impl }
void writeFile(String content) { //some impl }

void close() { //some imple }

}

我也考虑过只在文件使用的方法中添加读取和写入文件,但我认为这是一个糟糕的方法,因为我将来可能需要相同的逻辑,DRY。

最佳答案

@Controller 注释用于将方法映射到 URI 和 HTTP 方法的 bean。这样的 bean 通常位于 web 层之上。

因为您的 bean 不会从 web 访问,所以不能是 @Controller。在我看来,这是一项服务。所以只需将它重命名为 FileService 并用 @Service 注释即可。

关于java - 在 spring 应用程序中放置文件 Controller 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42017124/

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