【发布时间】:2017-06-20 09:42:20
【问题描述】:
所以我已经研究了 spring 应用程序的不同层,到目前为止,对于我的第一个 spring 应用程序,我认为我做得很好。我对在哪里放置 FileController 类感到困惑。它甚至可能根本不是控制器,而是服务,我不确定。也许这只是一个坏主意,我应该真的使用像 Spring Batch 这样的东西。我只是不认为我需要这种可扩展性。我认为我可能做的最复杂的事情是读写一个最大 5,000 行的 excel 文件。我将扩展下面的文件控制器以读取和写入文本和 .xls 文件。这应该是一个控制器并保留在 spring mvc Web 应用程序的控制器目录中,还是应该是一个服务并在服务目录中,还是应该是一个 bean 和其他目录?文件控制器只能由服务对象访问,该服务对象将由 Spring MVC 控制器通过 post 或 get 请求调用。我认为我的经验不足在这里真的很闪耀。
基本上我应该使用哪个注解:@Controller、@Bean、@Service?
我读到@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。
【问题讨论】:
-
为什么不使用@Component?
标签: java spring spring-mvc spring-boot spring-batch