我有以下Spring Boot application.properties
的配置文件:
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.database=POSTGRESQL
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQL82Dialect
它完全由spring ddl-auto
处理,为我创建表格。我希望从这个'DataSource'创建EntityManager
足够的信息。
我发现创建EntityManager
的方法之一是:
EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "DataSorceGoesHere" );
EntityManager entitymanager = emfactory.createEntityManager( );
问题是:
application.properties
中配置的数据源名称是什么?EntityManager
注入application.properties
?答案 0 :(得分:0)
对于数据源的名称我认为我们可以用使用此代码的spring boot创建的所有bean的名称来显示它
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
System.out.println("List of beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.print(beanName);
System.out.print(" ");
}
System.out.println("");
}
}