springMVC中的注解汇总

本文介绍了如何使用Spring框架中的@Repository、@Service、@Controller和@Component注解来管理不同层级的类。通过实例说明了这些注解的应用场景,特别是对于难以归类的类如何使用@Component进行标记。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些比较中立的类进行注释

这里就是说把这个类交给Spring管理,重新起个名字叫userManager,由于不好说这个类属于哪个层面,就用@Component

@Component("userManager")
注册容器bean ,名字是 userManager

### Spring MVC 知识点总结 #### 工作原理 SpringMVC 是一个实现了 MVC 架构模式的 Web 框架,其底层基于 Servlet 实现[^3]。 客户端发送请求到服务器后,首先会匹配 `web.xml` 中配置的路径到达 DispatcherServlet 前端控制器。接着,DispatcherServlet 依据 web.xml 路径从 HandlerMapping 查找处理 request 的 handler。如果映射成功,则 DispatcherServlet 将产生 HandlerAdapter 适配器来管理和调用 handler 控制器的方法以执行具体的功能逻辑。 当功能执行完毕之后,Handler 方法将返回一个 ModelAndView 对象给 DispatcherServlet。随后,ViewResolver 解析视图名称并将其转换成具体的 View 组件;而 Model 则负责解析数据,并最终由 DispatcherServlet 返回相应的 view 至客户端显示结果页面[^4]。 #### 关键组件 - **DispatcherServlet**: 前端控制器, 接收所有的 HTTP 请求并将它们分发至合适的处理器。 - **HandlerMapping**: 映射 URL 请求到特定的 Controller 处理函数上。 - **Controller/Handler**: 执行业务逻辑操作的具体类或方法。 - **ModelAndView**: 包含模型(Model) 和视图(View),用于向 JSP 页面传递数据以及指定要渲染的结果页。 - **ViewResolver**: 根据逻辑视图名解析真实的物理视图资源 (如 JSP 文件). #### 数据绑定机制 通过表单提交的数据可以自动被封装进 JavaBean 或者其他类型的参数列表里,在此过程中涉及到类型转化、格式化等功能支持。这使得开发者无需手动编写繁琐的数据读取与赋值代码即可完成复杂对象实例化的任务[^1]。 #### 异常处理策略 提供了一套完整的异常捕获和响应机制,允许定义全局性的 @ExceptionHandler 注解标注的方法用来集中处理各种未预期情况下的错误信息反馈给用户界面层展示出来。此外还可以利用 AOP 技术实现更加灵活多样的自定义异常拦截方案。 #### 文件上传特性 内置对于 multipart/form-data 编码方式的支持,简化了 HTML 表单文件域元素所携带的内容接收过程中的编码难题。借助 Commons FileUpload 库的帮助,应用程序能够轻松获取上传文件流并对之实施保存等后续动作。 ```java // 示例:简单的文件上传接口 @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file){ try { byte[] bytes = file.getBytes(); Path path = Paths.get(UPLOAD_DIR + file.getOriginalFilename()); Files.write(path, bytes); return "redirect:/success"; } catch (IOException e) { throw new RuntimeException(e.getMessage(),e); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值