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

如何创建一个RESTendpoint在Spring BootJava没有@SpringBootApplication,仅使用XML文件?

商飞龙
2023-03-14

我正在尝试在两个非Web应用程序之间实现一个RESTendpoint,所有配置都在XML文件中。
我创建了一个简单的控制器,其方法只返回"OK",因此我可以使用Postman运行一些测试。
不幸的是,endpoint没有被创建。

我做了一些研究,发现我需要添加“上下文”标记,组件扫描指向控制器包,这样它才能工作
但我目前的实施不足以让它工作:

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

我的控制器类是:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class TestController {

    @RequestMapping("/test")
    @ResponseBody
    public String test(){
        return "OK";
    }

}

我的问题是:有没有办法在不使用@SpringBootApplication注释主类的情况下创建RESTendpoint?如果是,我错过了什么?它是在我的XML文件中还是其他地方?

共有1个答案

潘英豪
2023-03-14

要启用MVC功能,您需要指示Spring扫描您的控制器,这是通过完成的

此外,由于DispatcherServlet正在处理您的请求,您需要在web中为其添加正确的配置。xml

....
<servlet>
        <servlet-name>my-dispatcher-servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:web-config.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>

LE:

mvc:注解驱动的主要区别在于它还创建了一些额外的bean,这些bean负责调度Servlet中的endpoint注册(例如,表示在控制器中接收到的数据所需的HandlerMaps、HandlerAdapters和一些默认转换服务)

 类似资料:
  • 消息:org.xml.sax.SAXParseException:元素类型“meta”必须由匹配的结束标记“”终止。(javax.xml.Transform.TransformerException)代码:mule_error---2----------------------------“** HTM文件中的Meta标记应该与该标记完全相同地创建。 如何解决这些问题?

  • 问题内容: 如果我想在python中创建一个简单的XML文件,该怎么办?(明智的) 我想要的xml看起来像: 问题答案: 如今,最流行(且非常简单)的选项是ElementTree API,该元素自Python 2.5起已包含在标准库中。 可用的选项有: ElementTree(ElementTree的基本,纯Python实现。自2.5以来是标准库的一部分) cElementTree(Element

  • 在我的项目中,我使用了@Configuration、@EnableAutoConfiguration、@ComponentScan和带有注释的重要资源配置。我没有使用@SpringBootApplication,但应用程序在没有@SpringBootApplication注释的情况下成功构建。我不明白为什么不调用@RestController类?

  • 如果我想使用jar实用程序创建一个没有META-INF废话的jar文件,我可以传递-m开关,它将: 我已经有了创建jar文件的配置,而且我不想再搞砸另一个插件...

  • 从文档中可以看出,这在spring-boot-maven-plugin中是不可能的。 所以现在我正在尝试创建一个测试JAR,但是当我运行应用程序类时,我得到了 有没有关于如何在没有maven插件的情况下打包SpringBoot应用程序的文档?

  • 问题内容: 我有一个动态文本文件,可以根据用户的查询从数据库中选择内容。我必须将此内容写入文本文件,并将其压缩在servlet的文件夹中。我应该怎么做? 问题答案: 看这个例子: 这将在D:named 的根目录中创建一个文件,其中将包含一个名为的单个文件。当然,你可以添加更多的zip条目,还可以指定一个子目录,如下所示: