我创建了spring boot项目,如果我在本地运行它会很好.但是,当我将此应用程序停靠并在Docker容器中运行时.出现问题Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration'
application.properties
spring.datasource.jdbc-url=xxx
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.maximum-pool-size=100
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.default_schema=public
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
Run Code Online (Sandbox Code Playgroud)
Dockerfile
FROM openjdk:8-jdk
COPY target/app-*.jar /app.jar
EXPOSE 8080/tcp
ENTRYPOINT ["java", "-jar", "/app.jar"]
Run Code Online (Sandbox Code Playgroud)
错误:
2018-08-29 03:56:06.093 WARN 1 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'authorizationServerConfiguration': …Run Code Online (Sandbox Code Playgroud) 我正在学习Java并编写下面的简单代码:
public class Test {
private int a = b;
private final static int b = 10;
public int getA() {
return a;
}
}
public class Hello {
public static void main(String[] args) {
Test test = new Test();
System.out.println(test.getA());
}
}
Run Code Online (Sandbox Code Playgroud)
结果:10.做得好!它运行成功,没有错误.
任何人都可以解释为什么我可以在声明它之前分配一个静态变量?
我写了简单的代码:
public static void main(String[] args) {
Integer i1 = 127;
Integer i2 = 127;
boolean flag1 = i1 == i2;
System.out.println(flag1);
Integer i3 = 128;
Integer i4 = 128;
boolean flag2 = i3 == i4;
System.out.println(flag2);
}
Run Code Online (Sandbox Code Playgroud)
但是,奇怪的是,结果如下:
true
false
Run Code Online (Sandbox Code Playgroud)
你能解释一下为什么会出现这种差异吗?