当前位置: 首页 > 知识库问答 >
问题:

仅使用XML配置的Spring RESTful web服务

阎德业
2023-03-14

我只使用XML配置来创建MVCWeb应用程序(没有注释)。

现在我想用Spring创建一个RESTful web服务,但我找不到任何不使用注释的教程。

有没有办法只使用XML配置构建RESTful web服务
还是必须使用注释?

例如,您可以仅使用如下所示的XML配置来部署MVC模式的web应用程序

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

   <bean class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver" id="springParameterMethodNameResolver">
    <property name="paramName" value="action"/>
   </bean>

   <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
       <map>
            <entry key="/test.do" >
                <ref bean="testController"  />
            </entry>
            <entry key="/rest/test">
                <ref bean="testRESTController"/>
            </entry>
        </map>

    </property>
   </bean>

   <!-- My Beans -->
   <bean id="testMethodNameResolver" class="com.rhcloud.riennestmauvais.spring.test.TestMethodNameResolver">
   </bean>

   <!-- Test -->
   <bean class="com.rhcloud.riennestmauvais.spring.test.TestController" id="testController">
        <property name="delegate" ref="testDelegate"/>
        <property name="methodNameResolver" ref="testMethodNameResolver"></property>
        <!-- <property name="methodNameResolver" ref="springParameterMethodNameResolver"></property> -->
   </bean>
   <bean class="com.rhcloud.riennestmauvais.spring.test.TestDelegate" id="testDelegate">
   </bean>

然而,当我试图为URL映射一个方法时,我遇到了麻烦,例如HTTP方法:POST,URL:/student/1/Adam——这样我就可以添加一个学生了
URL格式如下:/[resource]/[id]/[name]

我可以将/student/1/Adam映射到控制器,方法是在输入键中放入一个模式,如:

<entry key="/student/regex-to-allow-number/regex-to-allow-string">

但是我应该如何解析控制器中的URI呢?

我可以使用字符串解析URI。split()或类似的东西,但我想知道是否已经有一些解决方案,这样我就可以避免重新发明轮子。

共有1个答案

卫松
2023-03-14
<?xml version="1.0" encoding="UTF-8"?>

	<beans xmlns="http://www.springframework.org/schema/beans"
	 xmlns:context="http://www.springframework.org/schema/context"
	 xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	 xmlns:p="http://www.springframework.org/schema/p"
	 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">
        
 		<context:component-scan base-package="com.apmc.rest" />
 		<mvc:annotation-driven />
 		
    </beans>
 类似资料:
  • 我开发了一个Maven应用程序,当我从Netbeans运行它时,它运行良好,但当我尝试使用jar文件时,它生成了以下错误: 组织。阿帕奇。cxf。服务工厂ServiceConstructionException:无法解析null“”的绑定。 我认为我的文件配置不正确。

  • 大多是时候使用 Fluent 注册 API 来注册和配置组件。但这不是唯一的方法,Windsor 具有全面支持 XML 配置来完成一些容器相关的任务。 :information_source: 在哪里进行配置: 可以将 Windsor 的配置放在 app.config/web.config 文件中,如果需要的话,可以放在自定义的专用文件或分布到多个文件中。此外,文件可以在磁盘上,如果不想暴露给用户

  • 本文向大家介绍在服务器上配置仅使用HTTPS通信的教程,包括了在服务器上配置仅使用HTTPS通信的教程的使用技巧和注意事项,需要的朋友参考一下 HTTP 严格传输安全(HSTS)是一种安全功能,web 服务器通过它来告诉浏览器仅用 HTTPS 来与之通讯,而不是使用 HTTP。本文会说明如何在 Apache2、Nginx 和 Lighttpd 上如何启用 HSTS。在主流的 web 服务器上测试通

  • 我想使用新的log4j2-Java日志框架。一切正常,但我从一小时后就尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认包中。 将log4j2.xml文件移动到项目中的任意位置 将log4j2.xml文件命名为log4j.xml 在项目中创建一个文件夹,将log4j2.xml文件放

  • 在xml方式中发布和引用服务的方式如下。 sofa:service 元素表示发布服务, sofa:reference 元素表示引用服务。 sofa:binding 表示服务发布或引用的协议。 <bean id="personServiceImpl" class="com.alipay.sofa.boot.examples.demo.rpc.bean.PersonServiceImpl"/> <so

  • 问题内容: 我想使用新的Log4J 2-Java Logging Framework。一切正常,但是一个小时以来,我尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认软件包中。 将log4j2.xml文件移动到项目中的任何位置 将log4j2.xml文件命名为“ log4j.xml