究竟是什么意味着Spring MVC应用程序使用的Spring数据模型项目的配置?

时间:2015-11-19 10:08:39

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

我是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项目资源管理器,我会这样做:属性---&gt;项目方面我发现检查了以下方面 Java(版本1.7) JPA(版本2.1)实用程序模块

项目的确切方面是什么?以前的选择意味着什么?我不明白这些东西是否会添加依赖项,或者它是否与某些项目配置有关?

1 个答案:

答案 0 :(得分: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核心hibernate-core jar。阅读about Hibernate here

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

  • Eclipse中的项目构面:项目中使用的一个方面,以便IDE可以在生成器,向导,自动包含库等方面拦截它。如果您添加例如JPA facet,那么您将获得更多选项来使用JPA进行IDE魔术。在这里,您的项目使用 Java 1.7 JPA 2.1 等。资料来源:What is 'Facet' in JavaEE?

我希望这可以帮到你!