SpringMVC初级的概念和常用注解(入门案例)

Spring MVC 是一款流行的 Web 应用程序框架,它提供了基于注解的方式来实现 MVC 架构的开发模式。下面是一些 Spring MVC 的初级概念注解:

  1. @Controller:它是一个用于标识应用程序中控制器的注解,它表明一个类是 Spring MVC 控制器。

  2. @RequestMapping:它用于映射请求 URL 和处理方法。它可以设置请求的 HTTP 方法、请求 URL 和响应内容类型。

  3. @Autowired:它是一种依赖注入(DI)注解,用于自动装配 Bean 对象。它可以将一个 Bean 对象注入到另一个 Bean 对象中。

  4. @ResponseBody:它用于标识一个方法的返回值应该直接写入 HTTP 响应正文体中。它通常用于返回 JSON 或 XML 数据。

  5. @PathVariable:它用于将 URL 中的变量绑定到方法参数上。

  6. @RequestParam:它用于将 HTTP 请求参数绑定到方法参数上。

  7. @ModelAttribute:它用于将 HTTP 请求参数绑定到一个 Model 对象中。

  8. @Valid:它用于在控制器方法中校验提交的表单数据是否合法。它使用 Bean 校验框架进行校验。

    xml 复制代码
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.6.RELEASE</version>
        </dependency>
    </dependencies>
     
    kotlin 复制代码
    @Controller
    public class HomeController {
    
        @GetMapping("/home")
        public String home() {
            return "home";
        }
    }
     
    xml 复制代码
    <html>
        <head>
            <title>Spring MVC Demo</title>
        </head>
        <body>
            <h1>Welcome to Spring MVC!</h1>
        </body>
    </html>
     
    xml 复制代码
    <servlet>
        <servlet-name>dispatcher-servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>dispatcher-servlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
     
    xml 复制代码
    <context:component-scan base-package="com.example.controller"/>
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
     
相关推荐
feng_blog668814 分钟前
C++线程池|解决死锁、崩溃、丢任务所有痛点
java·开发语言·c++
天天进步201521 分钟前
魔音漫创源码解析:状态管理——复杂长链路下的状态同步:Zustand 在多面板协作中的应用
开发语言·架构
知识领航员1 小时前
2026年推荐6个AI音乐工具
java·人工智能·python·eclipse·django·php·pygame
mfxcyh1 小时前
如何把对象数据转化为数组
java·服务器·前端
念越1 小时前
从网络基础到Socket编程:TCP/UDP原理 + Java实战详解
java·网络·tcp/ip·udp
古城小栈1 小时前
langchain-rust:高性能Rust LLM应用开发实战
开发语言·rust·langchain
我是无敌小恐龙2 小时前
Java基础入门Day10 | Object类、包装类、大数/日期类、冒泡排序与Arrays工具类 超详细总结
java·开发语言·数据结构·算法·贪心算法·排序算法·动态规划
极客先躯2 小时前
高级java每日一道面试题-2025年12月07日-实战篇[Dockerj]-Docker daemon 的配置文件在哪里?常用的配置项有哪些?
java·docker·配置文件的实际位置·配置文件的格式规则·常用配置项全景与分类·配置如何生效·daemon 配置折射架构思维
云烟成雨TD2 小时前
Spring AI Alibaba 1.x 系列【49】状态图运行时引擎:CompiledGraph 源码解析
java·人工智能·spring
yuanyuan2o22 小时前
从最小项目开始的 CMake 教程
c语言·开发语言·arm开发·c++·makefile·make·cmake