当前位置: 首页 > news >正文

SpringMVC全注解开发

在学习过程中,框架给我们最大的作用,就是想让开发人员尽可能地只将精力放在具体业务功能的实现之上,而对于各种映射关系的配置,统统由框架来进行完成,由此,注解就很好的将映射功能进行实现,并且替代配置文件,让项目更加简洁。

SpringMVC框架配置文件中组件转化为注解方式

创建替代配置文件的核心配置类,在配置类中使用不同的注解来替代不同的组件标签,由此实现注解替代配置文件,但是,在Spring的配置文件web.xml中还要加载SpringMVC配置文件,但是此时该配置文件被创建的核心配置所替代,所以,我们应该创建应该类来加载核心配置类,在web.xml配置文件中加载创建的类,由此来达到加载SpringMVC核心配置类的目的。

  • SpringMVC核心配置类
  • package com.example.Config;import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.multipart.commons.CommonsMultipartResolver;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;@Configuration
    @ComponentScan("com.example.Controller")
    @EnableWebMvc // 注解驱动、静态资源处理器、拦截器
    public class SpringMVCConfig {@Beanpublic CommonsMultipartResolver multipartResolver() {CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();commonsMultipartResolver.setDefaultEncoding("utf-8");commonsMultipartResolver.setMaxUploadSize(5000);return commonsMultipartResolver;}
    }
    
  • 加载上述核心配置类的类

  • package com.example.Config;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class MyAnnotationConfigWebApplicationContext extends AnnotationConfigApplicationContext {public MyAnnotationConfigWebApplicationContext() {super.register(SpringMVCConfig.class);}
    }
    
  • 在web.xml配置文件中加载

明天再来p139,希望明天可以结束战斗

DispatcherServlet加载核心配置类

消除web.xml配置文件

http://www.lryc.cn/news/193847.html

相关文章:

  • 解决 android Cannot access ‘<init>‘: it is private in
  • 不容易解的题10.15
  • Megatron-LM GPT 源码分析(二) Sequence Parallel分析
  • DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368) rust解法
  • 如何使用Jmeter进行http接口测试?
  • bash一行输入,多行回显demo脚本
  • IDEA spring-boot项目启动,无法加载或找到启动类问题解决
  • 【LeetCode刷题(数据结构与算法)】:完全二叉树的节点个数
  • 【代码随想录】算法训练营 第一天 第一章 数组 Part 1
  • 286_C++_定时器的其中一个操作,定时重载接口—startTimer循环执行回调(未完全)
  • 自动驾驶学习笔记(四)——变道绕行仿真
  • C++位图,布隆过滤器
  • Python多种方法实现九九乘法表
  • 【力扣1876】长度为三且各字符不同的子字符串
  • HSN:微调预训练ViT用于目标检测和语义分割,华南理工和阿里巴巴联合提出
  • 机器学习的原理是什么?
  • Java集合框架之ArrayList源码分析
  • TensorFlow入门(二十、损失函数)
  • MySQL中死锁
  • 【LeetCode刷题(数据结构)】:给定一个链表 每个节点包含一个额外增加的随机指针 该指针可以指向链表中的任何节点或空节点 要求返回这个链表的深度拷贝
  • uniapp封装loading 的动画动态加载
  • Kopler.gl笔记:可视化功能总览
  • rust学习Cell、RefCell、OnceCell
  • 基于SSM的摄影约拍系统
  • 分析智能平台VMware Greenplum 7 正式发布!
  • 动态规划算法(3)--0-1背包、石子合并、数字三角形
  • Linux C/C++ 嗅探数据包并显示流量统计信息
  • Vitis导入自制IP导致无法构建Platform
  • SQLAlchemy 使用封装实例
  • Android Framework通信:Binder