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>
     
相关推荐
xcl09254 小时前
商超智能运营实战:数据驱动提升门店效率与体验指南
java·mfc·宠物
Flynt6 小时前
OpenJDK禁AI代码半年了,现在执行得怎么样?答案是:全靠自觉
java·开源·ai编程
古法安卓11 小时前
Android-日志系统源码解析
android·java·android studio
小夏coding12 小时前
从"一把梭"到"精妙拆解" —— 滑动窗口计时框架的设计演进
java·后端
MacroZheng13 小时前
同事问我:"Claude Code经常失忆,不怕它把项目搞炸?",我:"怕,三个Markdown文件给它装个永不丢失的外置大脑!"
java·人工智能·后端
十年Java程序媛14 小时前
深度实战:JDK21 虚拟线程 + HikariCP 生产正确配比、坑点、监控全套
java·spring boot
xiaoqiMikko14 小时前
有人在搜一个不存在的 Tomcat 版本
java·tomcat
用户31268748772018 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
vipxieliang18 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing18 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员