是否可以用 Spring 注入记录?
Is it possible to inject a record with Spring?
我发现 plenty of examples 构造函数注入记录类型。但是,我还没有看到有人解决将记录注入另一个 class 的问题。这可能吗?当我尝试它时,我看到关于 class 是最终的错误。但我正在努力理解这一点,因为我没有尝试扩展它或使用 AOP,或任何其他我希望扩展 class 的地方。
一条记录是最终的,所以它可能无法用 @Component
或其他类似的注释进行注释(尽管我没有尝试过)。它可以从一个用 @Bean
注释的 bean 方法返回,这使得它有资格进行注入。
public record Person (String name, int age) {}
@Configuration
public class MyBean {
@Bean
public Person person() {
return new Person("John Doe", 30);
}
}
我发现 plenty of examples 构造函数注入记录类型。但是,我还没有看到有人解决将记录注入另一个 class 的问题。这可能吗?当我尝试它时,我看到关于 class 是最终的错误。但我正在努力理解这一点,因为我没有尝试扩展它或使用 AOP,或任何其他我希望扩展 class 的地方。
一条记录是最终的,所以它可能无法用 @Component
或其他类似的注释进行注释(尽管我没有尝试过)。它可以从一个用 @Bean
注释的 bean 方法返回,这使得它有资格进行注入。
public record Person (String name, int age) {}
@Configuration
public class MyBean {
@Bean
public Person person() {
return new Person("John Doe", 30);
}
}