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

Spring和Hibernate Restful webservice配置

贺文彬
2023-03-14

我想请您对此提供帮助,我在NetBeans中配置了一个项目,以便使用Spring MVCHibernate构建一个Restful Webservice来连接数据库。

问题是我不知道如何配置控制器来执行并返回json

我已经开发了数据访问层、服务和控制器,但我不知道如何配置项目来执行:例如http:localhost:8080/project/user

    <?xml version='1.0' encoding='UTF-8' ?>
<!-- was: <?xml version="1.0" encoding="UTF-8"?> -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
       http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-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" xmlns:cache="http://www.springframework.org/schema/cache" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc">

    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>

    <!--
    Most controllers will use the ControllerClassNameHandlerMapping above, but
    for the index controller we are using ParameterizableViewController, so we must
    define an explicit mapping for it.
    -->
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="index.htm">indexController</prop>
            </props>
        </property>
    </bean>

    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/jsp/"
          p:suffix=".jsp" />

    <!--
    The index controller.
    -->
    <bean name="indexController"
          class="org.springframework.web.servlet.mvc.ParameterizableViewController"
          p:viewName="index" />

    <mvc:annotation-driven/>
    <context:component-scan base-package="ServiceLayer.Controller"/>

</beans>

web.xml

    <?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>

错误:

org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项得[DataAccessLayer.DataAccessObject.UserDAO]类型得合格bean:需要至少一个具有此依赖项自动候选资格得bean.依赖项注释:{@org.springframework.beans.factory.annotation.AutoWired(required=true)}org.springframework.beans.factory.support.defaultlistablebeanfactory.raisenosuchbeandefinitionexception(defaultlistablebeanfactory.java:1100)

org.springframework.beans.factory.BeanCreationException:创建名为“User Controller”的bean时出错:注入autowired依赖项失败;嵌套异常为org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:private ServiceLayer.Service.UserService ServiceLayer.Controller.UserController.UserService;嵌套异常为org.springframework.beans.factory.beanCreationException:创建名为“user service”的bean时出错:注入autowired依赖项失败;嵌套异常为org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:private DataAccessLayer.DataAccessObject.UserDAO ServiceLayer.Service.UserService.UserDAO;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项得[DataAccessLayer.DataAccessObject.UserDAO]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}

org.springframework.beans.factory.BeanCreationException:创建ServletContext资源[/web-inf/dispatcher-servlet.xml]中定义的名为“org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping#0”的bean时出错:bean初始化失败;嵌套异常为org.springframework.beans.factory.beanCreationException:创建名为“user controller”的bean时出错:注入autowired依赖项失败;嵌套异常为org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:private ServiceLayer.Service.UserService ServiceLayer.Controller.UserController.UserService;嵌套异常为org.springframework.beans.factory.beanCreationException:创建名为“user service”的bean时出错:注入autowired依赖项失败;嵌套异常为org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:private DataAccessLayer.DataAccessObject.UserDAO ServiceLayer.Service.UserService.UserDAO;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项得[DataAccessLayer.DataAccessObject.UserDAO]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}

我将非常感谢你的帮助。

共有1个答案

杜晨朗
2023-03-14

这不是对你问题的直接回答。但从长远来看可能会有帮助。

为什么不将应用程序作为spring boot应用程序。它将使您的应用程序更简单。您不需要配置web.xml、部署war等等。您可以开始使用这个完整的文档,可以在这里找到

 类似资料:
  • 在下面的教程中,我们将演示如何使用Spring Boot配置Spring Kafka。 Spring Boot使用合理的默认配置Spring Kafka。并使用属性文件覆盖这些默认值。 项目设置 Spring Kafka: Spring Boot: Apache Kafka: Maven: 此前已经学习了如何创建一个Kafka消费者和生产者,它可以手动配置生产者和消费者。 在这个例子中,我们将使用

  • 使用Spring Boot1.2.2创建Spring MVC应用程序。我也在使用Spring Hateoas。 我遇到的问题是,当我的控制器方法返回时,我配置的ObjectMapper被正确使用,但当我返回类(例如,)时,使用的是不同的ObjectMapper 尝试配置Jackson的ObjectMapper是一件非常令人沮丧的事情。我遵循了文档,将我自己的添加到一个类中,并用对其进行注释,在序列

  • 我正在使用Spring 3.1.1版的应用程序中工作,现在我需要为其添加一些方面。这些方面是用aspectj语言编写的,没有注释。我已经阅读了Spring docs第8.8章,但我正在努力使其工作。 我的spring配置如下所示: 在我的pom中,是一个Maven项目,我有spring aop、aspectjrt和aspectjweaver作为依赖项。 我的问题是,当启动应用程序时,我得到了一个

  • 是否可以使用 JUnit 插件/采样器和 Spring Java 配置运行 JMeter?当我尝试这样做时,没有创建 Spring 自动连线的 bean,尽管测试用例运行,但由于尚未创建 bean,我得到空指针异常。 我正在使用 Spring 注释和来配置 JUnit 测试(有效)。目标是能够编写可以使用JMeter测量性能的JUnit测试用例。

  • 我有三个应用程序,一个是spring云配置服务器点,另一个是spring云配置客户endpoint。我在彼此中配置了spring云总线,以使客户endpoint自动刷新发生更改,但在我运行的应用程序中,出现了如下异常 这是我的spring云服务器配置 这是我的spring云配置服务器pom 这是我的spring云配置客户端配置 这是我的spring云配置客户端pom 此异常不会影响操作的应用程序,

  • 本文向大家介绍Spring Boot使用和配置Druid,包括了Spring Boot使用和配置Druid的使用技巧和注意事项,需要的朋友参考一下 1、引入依赖包 2、配置application.properties 3、目前Spring Boot中默认支持的连接池有dbcp,dbcp2, tomcat, hikari三种连接池。 由于Druid暂时不在Spring Bootz中的直接支持,故需要