java - 一遍又一遍地在 Intelij 中创建 Spring 项目的问题
问题描述
我正在学习Spring,创建一个可以工作的项目让我疯狂了几天,我花了一整天的时间来解决一些问题,然后在创建下一个项目时,我重复前面的过程,但出现了新的问题。我使用 InteliJ,我将逐步编写如何创建项目以及错误是什么。我希望有人能帮助我,因为我真的很沮丧。
我选择新建项目Java Enterpise
,项目模板是Web application
,构建工具Maven
。对于库和框架是自动选择的Servlet
,我在那里没有改变任何东西。就是这样,我创建了项目。现在,当我右键单击我选择的项目时Add framework support
,我添加:Spring, SpringMVC, Hibernate
. InteliJ 会自动下载它。如果有人有时间在私信中逐步向我解释如何正确设置,我将不胜感激。
Spring version 5.2.3 RELEASE
Spring MC 5.2.3 RELEASE
Hibernate 5.4.11
所有 Jar 文件都已添加到 lib 文件夹中
然后我创建了HomeController:
@Controller
@RequestMapping("/home")
public class HomeController {
@RequestMapping("/showHome")
public String showHome(){
return "home";
}
}
Componet scanning, mvc view, etc.
:
<?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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- Add AspectJ autoproxy support for AOP -->
<aop:aspectj-autoproxy/>
<!-- Add support for component scanning -->
<context:component-scan base-package="com.example.demo"/>
<!-- Add support for conversion, formatting and validation support -->
<mvc:annotation-driven/>
<!-- Define Spring MVC view resolver -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3306/web_customer_tracker?useSSL=false&serverTimezone=UTC"/>
<property name="user" value="springstudent"/>
<property name="password" value="springstudent"/>
<property name="minPoolSize" value="5"/>
<property name="maxPoolSize" value="20"/>
<property name="maxIdleTime" value="30000"/>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="packagesToScan" value="com.example.demo"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="myTransactionManager"
class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="myTransactionManager"/>
<!-- Add support for reading web resources: css, images, js, etc ... -->
</beans>
web.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>spring-mvc-crud-demo</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc-crud-demo-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Erros:
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]
Offending resource: ServletContext resource [/WEB-INF/spring-mvc-crud-demo-servlet.xml]
解决方案
推荐阅读
- django - 我在 Django 中的所有静态文件都没有找到,但是 findstatic 找到了
- java - Spring Boot导致工作代码失败
- bash - sed 仅在第一次匹配后插入文本行并在第二次匹配后删除 n 行仅使用 sed
- kotlin - Kotlin:使用 getter 实现接口的问题
- r - 使用行名称作为 x 绘制数据框值 - 无法强制错误(列表)对象键入“双精度”
- installation - Drupal 8,刚安装完,css文件无法加载,服务器报错500
- hadoop - 无法打开 localhost:8088。尝试在 Windows10 上安装 Hadoop3
- igraph - 在 r 图中读取 graphml 文件时出错
- javascript - 组件计算属性未定义
- c# - SimpleInjector.DiagnosticVerificationException