小编Ger*_*oza的帖子

Boot升级到2.6后出现BeanCurrentlyInCreationException

将我的项目升级到 Spring Boot 后2.6.0,我​​在启动过程中遇到以下异常:

org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'webSecurityConfig': Requested bean is currently in creation: Is there an unresolvable circular reference?
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:355) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:227) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.13.jar:5.3.13]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.13.jar:5.3.13]
Run Code Online (Sandbox Code Playgroud)

但是,我的配置似乎符合 Spring 文档(HttpSecurity setupAuthenticationManagerBuilder setupPasswordEncoder setup):

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void …
Run Code Online (Sandbox Code Playgroud)

spring spring-security spring-boot

11
推荐指数
1
解决办法
1万
查看次数

迁移到 Boot 3 后,“该类型未定义方法 findById”

我有以下 Spring Data JPA 存储库:

public interface FooRepository extends PagingAndSortingRepository<Foo, Long> {}
Run Code Online (Sandbox Code Playgroud)

迁移到 Spring Boot 3 后,我开始收到大多数标准存储库方法的错误消息(例如fooRepository.findById(id),,,)fooRepository.save(foo)fooRepository.findAll()

我在Spring Boot 3.0迁移指南中找不到与此相关的任何内容

spring spring-data-jpa spring-boot

10
推荐指数
1
解决办法
3015
查看次数

Boot 3 升级后错误响应正文发生更改

我的项目中有以下控制器端点:

@GetMapping(value = "/{id}")
public FooDto findOne(@PathVariable Long id) {
    Foo model = fooService.findById(id)
        .orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND));

    return toDto(model);
}
Run Code Online (Sandbox Code Playgroud)

当我的应用程序找不到Foo具有提供的 id 的响应时,它检索到以下响应:

{
    "timestamp": "2023-01-06T08:43:12.161+00:00",
    "status": 404,
    "error": "Not Found",
    "path": "/foo/99"
}
Run Code Online (Sandbox Code Playgroud)

但是,升级到 Boot 3 后,响应正文更改为:

{
    "type": "about:blank",
    "title": "Not Found",
    "status": 404,
    "instance": "/foo/99"
}
Run Code Online (Sandbox Code Playgroud)

我在《Spring Boot 3.0 迁移指南》《升级到 Spring Framework 6.x 》中都找不到任何相关信息。

spring spring-mvc spring-boot

4
推荐指数
1
解决办法
5577
查看次数

2.5.0 升级后,Spring Boot 数据源初始化错误,data.sql 脚本

我有一个配置了 Spring Boot 和 Spring Data JPA 的项目。

我的项目包含以下data.sql初始化脚本(我刚刚开始开发我的应用程序,这就是我使用嵌入式 H2 数据库的原因):

INSERT INTO Project(id, name) VALUES (1, 'Project 1');
Run Code Online (Sandbox Code Playgroud)

我正在定义以下实体:

@Entity
public class Project {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    protected Project() {
    }

    public Project(String name) {
        this.name = name;
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我没有任何其他配置/设置。

ERROR 5520 ---[  restartedMain] o.s.boot.SpringApplication               :Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Invocation of init method failed; nested …
Run Code Online (Sandbox Code Playgroud)

hibernate spring-data-jpa spring-boot

2
推荐指数
2
解决办法
1343
查看次数

升级到 Spring Boot 2.7 时测试失败 - “CommandAcceptanceException:执行 DDL 时出错”

升级到 Boot 2.7 后,使用嵌入式 H2 数据库的集成测试开始失败。

我在日志中看到此警告消息,但不清楚原因或解决方案:

WARN 8053 ---[           main] o.h.t.s.i.ExceptionHandlerLoggedImpl     :GenerationTarget encountered exception accepting command : Error executing DDL "create table user (id bigint generated by default as identity, email varchar(255) not null, name varchar(255), primary key (id))" via JDBC Statement

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table user (id bigint generated by default as identity, email varchar(255) not null, name varchar(255), primary key (id))" via JDBC Statement
...
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "create table …
Run Code Online (Sandbox Code Playgroud)

hibernate h2 spring-data-jpa spring-boot

2
推荐指数
1
解决办法
3584
查看次数