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>
     
相关推荐
ps酷教程32 分钟前
Jackson 解决没有无参构造函数的反序列化问题
java
NiceCloud喜云37 分钟前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
AI玫瑰助手1 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
油炸自行车1 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
肩上风骋1 小时前
C++14特性
开发语言·c++·c++14特性
_日拱一卒2 小时前
LeetCode:994腐烂的橘子
java·数据结构·算法·leetcode·深度优先
隔窗听雨眠2 小时前
Nginx网关响应慢排查手记
java·服务器·nginx
智慧物业老杨2 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
源码宝3 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
JAVA社区3 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展