SSJ中出现如下几个错误信息:

本文介绍了SSJ中常见的三个错误及其解决方法,包括XML文件格式错误、EntityManagerFactory配置中未指定PersistenceProvider以及Eclipse IDE的一个已知Bug。对于XML格式错误,只需移除多余的字符;对于PersistenceProvider配置问题,需要在persistence.xml文件中明确指定HibernatePersistence;而对于Eclipse IDE的Bug,则可以忽略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSJ中出现如下几个错误信息:
1.Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
原因:beans.xml书写格式有误
解决方法:原来在xml文件开头多了个a删除即可


2.Caused by: java.lang.IllegalArgumentException: No PersistenceProvider specified in EntityManagerFactory configuration, and chosen PersistenceUnitInfo does not specify a provider class name either  
the hibernate documention says:
The provider is a fully-qualified class name of the EJB Persistence provider. You do not have to define it if you don't work with several EJB3 implementations. This is needed when you are using multiple vendor implementations of EJB Persistence.
添加上<provider>org.hibernate.ejb.HibernatePersistence</provider>这一句即可:
<?xml version="1.0" encoding="UTF-8"?>  
<persistence xmlns="http://java.sun.com/xml/ns/persistence"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"  
        version="2.0">  
  
    <persistence-unit name="galleryPersistenceUnit">  
         <provider>org.hibernate.ejb.HibernatePersistence</provider>  
    </persistence-unit>  
</persistence>


3.eclipse的一个bug在使用return on...(onclick,onsubmit或者其他)javascript的时候会报错,提示:Cannot return from outside a function or method。其实没有问题,现在只能不必管他。
### 创建 SSJ 项目的步骤 #### 工具准备 为了在 IntelliJ IDEA 中创建基于 SpringMVC + Spring + Spring Data JPA 的项目(简称 SSJ),需要先安装并配置好开发环境。IntelliJ IDEA 是一款功能强大的集成开发工具,其专业版提供了对各种框架的良好支持[^1]。 --- #### 配置数据库连接文件 在资源目录 `resources` 下新建名为 `jdbc.properties` 的文件用于存储数据库连接信息。以下是该文件的内容模板: ```properties jdbc.driverClassName=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/easy_sell?useSSL=false&serverTimezone=UTC jdbc.username=root jdbc.password=XXXX ``` 注意:这里使用的 MySQL JDBC 驱动版本可能有所不同,因此驱动类名可能是 `com.mysql.cj.jdbc.Driver` 而不是旧版本中的 `com.mysql.jdbc.Driver`[^2]。 --- #### 新建 JsonResult 类 为了统一接口返回的数据结构,在项目中定义一个通用的结果封装类 `JsonResult`。此封装类可以简化前后端交互逻辑。具体实现如下所示: ```java package cn.itsource.aisell.common; public class JsonResult { private boolean success = true; private String msg; public JsonResult() {} public JsonResult(boolean success, String msg) { this.success = success; this.msg = msg; } public boolean isSuccess() { return success; } public void setSuccess(boolean success) { this.success = success; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } } ``` 上述代码实现了基本的成功状态和消息字段的设置与获取方法[^3]。 --- #### 添加依赖项到 Maven 或 Gradle 文件 SSJ 项目通常会使用 Maven 来管理依赖关系。以下是一个典型的 `pom.xml` 片段,包含了必要的依赖库: ```xml <dependencies> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.9</version> </dependency> <!-- Spring Data JPA --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>2.5.3</version> </dependency> <!-- Hibernate (作为 JPA 提供者) --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.4.32.Final</version> </dependency> <!-- MySQL 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> <!-- JSON 处理 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.5</version> </dependency> </dependencies> ``` 以上片段展示了如何引入 Spring MVC、Spring Data JPA 和其他必要组件的支持。 --- #### 初始化 Spring 配置文件 在 `src/main/resources` 目录下新增 Spring 配置文件 `applicationContext.xml` 并完成基础配置。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 加载属性文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 数据源配置 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- 其他 Bean 定义省略 --> </beans> ``` 通过加载外部化的 `jdbc.properties` 文件来动态注入数据库连接参数。 --- #### 启动 Web 应用程序 最后一步是在项目根路径下的启动类上标注 `@EnableWebMvc` 注解以启用 Spring MVC 功能,并确保所有控制器能够被自动扫描注册至容器内。 ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @SpringBootApplication @ComponentScan(basePackages = {"cn.itsource.aisell"}) public class ApplicationStarter { public static void main(String[] args) { SpringApplication.run(ApplicationStarter.class, args); } } ``` 这样就完成了整个 SSJ 项目的初始化工作流程。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值