Java SE + Spring Data + Hibernate

ChrisGeo:

私はSpring Data + HibernateでJava SEアプリケーションを起動しようとしていますが、これまでに次のことを行っています:

設定ファイル

@Configuration
@PropertySource("classpath:hibernate.properties")
@EnableJpaRepositories
@EnableTransactionManagement
public class JpaConfiguration {

    private static final String PROPERTY_NAME_DATABASE_DRIVER = "db.driver";
    private static final String PROPERTY_NAME_DATABASE_PASSWORD = "db.password";
    private static final String PROPERTY_NAME_DATABASE_URL = "db.url";
    private static final String PROPERTY_NAME_DATABASE_USERNAME = "db.username";

    private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "hibernate.dialect";
    private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "hibernate.show_sql";
    private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN =
            "entitymanager.packages.to.scan";

    @Resource
    private Environment env;

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();

        dataSource.setDriverClassName(
                env.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
        dataSource.setUrl(env.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
        dataSource.setUsername(env.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
        dataSource.setPassword(env.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));

        return dataSource;
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new
                LocalContainerEntityManagerFactoryBean();
        entityManagerFactoryBean.setDataSource(dataSource());
        entityManagerFactoryBean.setPersistenceProviderClass(org.hibernate
                .jpa.HibernatePersistenceProvider.class);
        entityManagerFactoryBean.setPackagesToScan(env.
                getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));

        entityManagerFactoryBean.setJpaProperties(hibProperties());

        return entityManagerFactoryBean;
    }

    private Properties hibProperties() {
        Properties properties = new Properties();
        properties.put(PROPERTY_NAME_HIBERNATE_DIALECT,
                env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));
        properties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL,
                env.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));
        return properties;
    }

    @Bean
    public JpaTransactionManager transactionManager() {
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
        return transactionManager;
    }

    @Bean
    public MainBean mainBean() {
        return new MainBean();
    }
}

クラスを開始

public class Start {


    private static final String CONFIG_PACKAGE = "org.app.config";


    public static void main(String[] args) {

        try (AnnotationConfigApplicationContext ctx = new
                AnnotationConfigApplicationContext()) {

            ctx.scan(CONFIG_PACKAGE);
            ctx.refresh();

            MainBean bean = ctx.getBean(MainBean.class);
            bean.start();
        }
    }
}

メインビーン

public class MainBean {

        public void start() {

        System.out.println("Application Started. . .");


    }

}

ただし、次の例外が発生します

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [C:\MyPath\target\classes\org\app\config\JpaConfiguration.class]; nested exception is java.lang.IllegalArgumentException
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:281)
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242)
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.scan(ClassPathBeanDefinitionScanner.java:220)
    at org.springframework.context.annotation.AnnotationConfigApplicationContext.scan(AnnotationConfigApplicationContext.java:153)
    at org.app.Start.main(Start.java:25)
Caused by: java.lang.IllegalArgumentException
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101)
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:257)
    ... 4 more

誰かが私が間違っていることを知っていますか?

Oliver Drotbohm:

表示される例外は、無効なSpring構成が原因である可能性は低く、クラスパス設定が原因です。これは、ASMライブラリとJava 8に関するバージョンの非互換性のように思われます。Spring3.2が依存するASMバージョンは、Java 8と互換性がないことが知られています。

したがって、Java 8でコードを実行する場合は、最新のSpring 4.0バージョンを使用する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

elasticsearch, spring-data and hibernate

分類Dev

Spring Data JPA + Hibernate + PostgreSQL

分類Dev

Spring + hibernate versus Spring Data JPA: Are they different?

分類Dev

Spring + hibernate versus Spring Data JPA: Are they different?

分類Dev

Spring + hibernate versus Spring Data JPA: Are they different?

分類Dev

Java Frameworks War:Spring and Hibernate

分類Dev

Java Spring、Hibernate Foregin Key

分類Dev

Spring Data JDBC / Spring Data JPA vs Hibernate

分類Dev

Spring Data JDBC / Spring Data JPA vs Hibernate

分類Dev

Spring Data JPAおよびHibernate

分類Dev

Spring Boot Data Hibernate Transaction Manager

分類Dev

Hibernate Join query to fetch the data in Java?

分類Dev

Spring Data JPA-Hibernate-OneToMany、ManytoOne双方向

分類Dev

Spring Data JPA / Hibernate処理関連付け

分類Dev

Why does Spring Data JPA + Hibernate generate incorrect SQL?

分類Dev

elasticsearch、spring-dataおよびhibernate

分類Dev

Avoiding loading of Lazy Collections in QueryDSL, Hibernate and Spring Data JPA

分類Dev

ゼロからJava> Spring> Hibernate for web

分類Dev

Java Spring Hibernate Schema-Validation:Missing Table

分類Dev

How to manage 2 DAO methods in a single transaction in Java Spring and Hibernate?

分類Dev

Java Spring、maven、oracle、hibernateとの接続

分類Dev

Combining xml and java configurations in spring 3.2 + hibernate 4

分類Dev

Hibernate継承/ Spring java.lang.NullPointerException

分類Dev

how to resolve java.lang.NoClassDefFoundError: org/hibernate/QueryTimeoutException in spring

分類Dev

Hibernate(Spring Data)からMicrosoftSQLへ-SQLの「datetime」タイプのJavaへのマッピング「java.sql.Timestamp」が失敗する

分類Dev

Spring + Hibernate + JPA

分類Dev

Spring Hibernate Transaction Logging

分類Dev

DAO、Spring、Hibernate

分類Dev

Spring & Hibernate Maven Building

Related 関連記事

  1. 1

    elasticsearch, spring-data and hibernate

  2. 2

    Spring Data JPA + Hibernate + PostgreSQL

  3. 3

    Spring + hibernate versus Spring Data JPA: Are they different?

  4. 4

    Spring + hibernate versus Spring Data JPA: Are they different?

  5. 5

    Spring + hibernate versus Spring Data JPA: Are they different?

  6. 6

    Java Frameworks War:Spring and Hibernate

  7. 7

    Java Spring、Hibernate Foregin Key

  8. 8

    Spring Data JDBC / Spring Data JPA vs Hibernate

  9. 9

    Spring Data JDBC / Spring Data JPA vs Hibernate

  10. 10

    Spring Data JPAおよびHibernate

  11. 11

    Spring Boot Data Hibernate Transaction Manager

  12. 12

    Hibernate Join query to fetch the data in Java?

  13. 13

    Spring Data JPA-Hibernate-OneToMany、ManytoOne双方向

  14. 14

    Spring Data JPA / Hibernate処理関連付け

  15. 15

    Why does Spring Data JPA + Hibernate generate incorrect SQL?

  16. 16

    elasticsearch、spring-dataおよびhibernate

  17. 17

    Avoiding loading of Lazy Collections in QueryDSL, Hibernate and Spring Data JPA

  18. 18

    ゼロからJava> Spring> Hibernate for web

  19. 19

    Java Spring Hibernate Schema-Validation:Missing Table

  20. 20

    How to manage 2 DAO methods in a single transaction in Java Spring and Hibernate?

  21. 21

    Java Spring、maven、oracle、hibernateとの接続

  22. 22

    Combining xml and java configurations in spring 3.2 + hibernate 4

  23. 23

    Hibernate継承/ Spring java.lang.NullPointerException

  24. 24

    how to resolve java.lang.NoClassDefFoundError: org/hibernate/QueryTimeoutException in spring

  25. 25

    Hibernate(Spring Data)からMicrosoftSQLへ-SQLの「datetime」タイプのJavaへのマッピング「java.sql.Timestamp」が失敗する

  26. 26

    Spring + Hibernate + JPA

  27. 27

    Spring Hibernate Transaction Logging

  28. 28

    DAO、Spring、Hibernate

  29. 29

    Spring & Hibernate Maven Building

ホットタグ

アーカイブ