Spring零基础到进阶之使用方法详解

Spring零基础到进阶之使用方法详解

什么是Spring

Spring 是一个开放源代码的设计层面框架,它解决的是业务层和其他各层的耦合问题,使得整个系统架构清晰、易于维护、扩展性强。

Spring框架的模块

Spring框架分为20多个模块,其中最常用的是Core Container、Data Access/Integration、Web、AOP,下面分别介绍这四个模块。

Core Container

Core Container 模块是 Spring 应用程序基础,包括 Spring 核心,Spring Beans,Spring Context 和 Spring Expression Language (SpEL)。

Data Access/Integration

Data Access/Integration 模块使得 Spring 操作数据库和与其他应用协作的方式变得更容易, 常用的模块包括 JDBC、ORM、OXM 和 JMS 等。

Web

Web 模块提供了面向Web的综合的功能,包括文件上传、MVC、WebSocket等。

AOP

AOP(面向切面编程)模块提供了面向切面的编程实现方法以及对经常被称为横切关注点的功能的集成。

Spring MVC框架的使用

Spring MVC 是一个基于 Java 的轻量级 Web 框架。它是 Spring 框架的一部分,因此理所当然受到了 Spring 的利益以及 Spring 框架中的所有好处。下面介绍 Spring MVC 的一些常用方法。

Spring MVC的配置

  • web.xml文件配置
<web-app>
 <display-name>Archetype Created Web Application</display-name>
 <servlet>
     <servlet-name>springDispatcherServlet</servlet-name>  
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
     <init-param>  
         <param-name>contextConfigLocation</param-name>  
         <param-value>  
              /WEB-INF/spring-mvc.xml  
         </param-value>  
     </init-param>  
 </servlet>  

 <servlet-mapping>
     <servlet-name>springDispatcherServlet</servlet-name>  
     <url-pattern>/</url-pattern>  
 </servlet-mapping>  
</web-app>
  • spring-mvc.xml文件配置
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemaLocation="
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.0.xsd
   http://www.springframework.org/schema/mvc 
   http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

 <mvc:annotation-driven/>

 <context:component-scan base-package="com.example"/>

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="prefix" value="/WEB-INF/views/"/>
     <property name="suffix" value=".jsp"/>
 </bean>

</beans>

控制器(Controller)

控制器类必须被注解成@Controller或@RestController。@Controller是基本的注解,它指示 Spring 该类将用作 MVC 的控制器。而 @RestController 表示该类负责返回JSON,代替了Spring 4之前的@ResponseBody注解。

示例1:返回页面

@Controller
public class DemoController {

    @RequestMapping("/demo")
    public ModelAndView demo() {
        ModelAndView model = new ModelAndView("demo");
        return model;
    }
}

示例2:返回JSON

@RestController
public class DemoController {

    @RequestMapping("/api/demo")
    public Map<String,Object> demo() {
        Map<String,Object> model = new HashMap<>();
        model.put("id", 123);
        model.put("name", "John Doe");
        return model;
    }
}

结束语

本文档介绍了 Spring 框架的基本知识,包括Spring的四个模块和Spring MVC的基本使用方法。后续可再深入学习 Spring 提供的其它模块与功能,提升开发效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring零基础到进阶之使用方法详解 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 在Java Spring框架中使用的设计模式有哪些

    在Java Spring框架中,常用的设计模式包括以下几种: 工厂模式 工厂模式是一种创建型设计模式,可以通过工厂方法或抽象工厂创建对象。在Spring中,常用的工厂模式包括BeanFactory和ApplicationContext接口。BeanFactory是一个接口,它提供了一种获取Bean的机制。ApplicationContext是BeanFact…

    Java 2023年5月19日
    00
  • JSP向后台传递参数的四种方式总结

    对于JSP向后台传递参数的四种方式,我们可以采用如下的攻略进行讲解: 一、URL传参 URL传参是JSP中最简单的一种方式,只需要将参数通过URL传递给目标页面,然后在目标页面中解析参数即可。 示例1:在JSP中跳转到另一个JSP页面,并传递参数 <a href="test.jsp?name=张三&age=20">测试…

    Java 2023年6月15日
    00
  • 解决spring data jpa saveAll() 保存过慢问题

    解决 Spring Data JPA saveAll() 保存过慢问题需要从以下两个方面入手: 批量操作 对于需要批量插入的数据,如果使用 JPA 的 saveAll() 方法,会对每个实体执行一次数据库操作,这样的效率会非常低下。因此,需要使用批量操作。在 Spring Data JPA 中,可以使用 JPA 提供的批量操作接口 Batch批量操作,方法为…

    Java 2023年5月20日
    00
  • java实现马踏棋盘算法(骑士周游问题)

    Java实现马踏棋盘算法(骑士周游问题) 算法简介 马踏棋盘算法也叫做骑士周游问题,是指在一个棋盘(8 * 8)上,棋子(马)起始位置任意,按照马的走法,要踏遍棋盘上所有的格子,一个格子只能踏一次。马走法包括: 向左移动一格,向上移动两格 向左移动一格,向下移动两格 向右移动一格,向上移动两格 向右移动一格,向下移动两格 向上移动一格,向左移动两格 向上移动…

    Java 2023年5月19日
    00
  • 深入解析Java的Struts框架中的控制器DispatchAction

    深入解析Java的Struts框架中的控制器DispatchAction DispatchAction的概述 Struts是一个MVC架构的Web框架,其中控制器层由Action实现。DispatchAction是Struts中一个特殊的Action,它根据请求参数的值映射到相应的方法进行处理,相当于一组Action的集合,可以大大简化代码实现。 Dispa…

    Java 2023年5月20日
    00
  • Spring Data JPA框架快速入门之自定义Repository接口

    下面是关于“Spring Data JPA框架快速入门之自定义Repository接口”的详细讲解。 什么是Spring Data JPA? Spring Data JPA是Spring提供的一个用于简化JPA开发的框架,它提供了一种使得JPA的使用更加方便快捷的方式,使我们能够以更少的代码量实现JPA数据存储相关的操作。 自定义Repository接口 自…

    Java 2023年6月3日
    00
  • ajax动态赋值echarts的实例(饼图和柱形图)

    我将详细讲解“ajax动态赋值echarts的实例(饼图和柱形图)”的完整攻略。以下是具体步骤: 准备工作 在HTML文件中引入ECharts的JS文件和相应的主题文件 <!– 引入ECharts插件的JS库 –> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/4…

    Java 2023年6月15日
    00
  • Java图论进阶之最小生成树算法详解

    Java图论进阶之最小生成树算法详解 在图论中,最小生成树(Minimum Spanning Tree, MST) 是连接所有图节点的一棵树,其边的权重和最小。本文将介绍最常见的两种求最小生成树的算法——Prim算法和Kruskal算法。 Prim算法 Prim算法以一个初始节点为起点,每次选择距离该节点最近的未访问节点加入生成树中,直至生成一棵生成树,时间…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部