spring-data-jpa:我是否需要自己配置生产?

时间:2017-06-15 05:34:23

标签: spring spring-boot spring-data-jpa

我是spring-boot的全新手。我读到了 spring-data-jpa tutorial。我看到了很多DataSourceEntityManagerFactoryJpaTransactionManager等配置代码;但是当我使用spring-boot时,这些是通过在applications.properties文件中声明一些属性来完成的。

spring.datasource.url=jdbc:mysql://localhost/mydb?autoReconnect=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

我没有插入任何持久化上下文配置(甚至在我的存储接口上都有@Repository注释)。我的测试方法运行正常。

但我很好奇这个问题我可以用作生产吗?我看到了来自测试方法的日志消息

  

INFO 8108 --- [Thread-4] j.LocalContainerEntityManagerFactoryBean:关闭持久性单元'default'的JPA EntityManagerFactory

我不知道persistence unit 'default'对于制作是否足够好。

1 个答案:

答案 0 :(得分:1)

在生产中配置和管理DataSource的一种常用方法是JNDI。来自the Spring Boot Reference Guide

  

29.1.3与JNDI数据源的连接

     

如果要将Spring Boot应用程序部署到应用程序   您可能希望使用的服务器配置和管理数据源   您的Application Server内置功能并使用JNDI访问它。

     

可以使用spring.datasource.jndi-name属性作为替代   到spring.datasource.urlspring.datasource.username和。{   spring.datasource.password属性可从a访问DataSource   具体的JNDI位置。例如,以下部分   application.properties显示了如何访问定义的JBoss AS   DataSource

     

spring.datasource.jndi-name=java:jboss/datasources/customers

然后,您必须在Application Server中配置DataSource。例如在JBoss:DataSource configuration in JBoss AS7.1