【问题标题】:What exactly means the configuration of this Spring data model project used by a Spring MVC application?Spring MVC 应用程序使用的这个 Spring 数据模型项目的配置究竟意味着什么?
【发布时间】:2016-02-21 09:52:20
【问题描述】:

我是 Spring + JPA 的新手,我正在开发一个使用名为 model-gen-myapp 的项目的 Web 应用程序。

该项目包含标注为映射数据库表的实体类(因此它包含我的 Web 应用程序用来表示数据库中数据的模型)。

这是这个项目的pom.xml内容:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>model-gen-profdb</groupId>
    <artifactId>model-gen-profdb</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>1.0.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.11.Final</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>1.8.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.3.3</version>
        </dependency>
    </dependencies>
</project>

正如你在前面的配置中看到的,它添加了一些与一些 Hibernate 东西和 spring-data-jpa Spring 项目相关的依赖项。

之前的依赖到底是用来做什么的?

然后,如果我在 Eclipse 项目资源管理器中选择此项目并执行以下操作:Properties ---> Project Facets 我发现检查了以下方面Java(1.7 版) strong>、JPA(2.1 版)实用程序模块

究竟什么是项目方面,之前的选择意味着什么?我不明白这些东西是添加依赖还是与某些项目配置相关?

【问题讨论】:

  • 请查看我的回答。如果符合目的,您可以接受并投票!

标签: java spring spring-mvc spring-data spring-data-jpa


【解决方案1】:

首先让我向您介绍强大的 Maven here ,请阅读。

依赖管理是Maven最重要的特性之一 这是其用户最熟悉的地方,也是 Maven 使用的领域之一 擅长。

  • 您的项目是一个 JPA 项目,hibernate-jpa-2.1-api 是为您提供 JPA 2.1 API。您可以访问它here。它基本上有这些父包:

    javax.persistence
    javax.persistence.criteria
    javax.persistence.metamodel
    javax.persistence.spi

  • JPA 是 specification from Oracle。像HibernateEclipse Link 等厂商有这个规范的实际实现。因此,您需要休眠核心 hibernate-core jar。阅读about Hibernate here

  • 来到spring-data-jpa。 Spring Data JPA 是更大的 Spring Data 系列的一部分,可以轻松实现基于 repositoriesJPA。此模块处理基于data access layers 的对JPA 的增强支持。它使构建使用数据访问技术的 Spring 驱动的应用程序变得更加容易。来源:Spring Data JPA

  • Eclipse 中的项目方面:项目中使用的方面,以便 IDE 可以在其上拦截有关生成器、向导、自动包含库等的内容。如果您添加例如 JPA 方面,那么您将获得更多选项来使用 JPA 执行 IDE 魔术。这里您的项目使用 Java 1.7JPA 2.1 等。来源:What is 'Facet' in JavaEE?

希望对你有帮助!

【讨论】:

  • 不客气!感谢您接受答案..:)
猜你喜欢
  • 2015-06-26
  • 1970-01-01
  • 2015-06-03
  • 2016-02-20
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多