有人可以给MWE @ConfigurationProperties
直接在@Bean
方法上使用注释的方法吗?
我已经看到了无数的关于在类定义中使用它的示例-但还没有@Bean
方法的示例。
引用文档:
@Bean
方法因此,我认为还有一种可能性和预期的用途-但不幸的是,我无法弄清楚。
spring.datasource.url = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]
spring.datasource.driverClassName = oracle.jdbc.OracleDriver
@Bean
@ConfigurationProperties(prefix="spring.datasource")
public DataSource dataSource() {
return new DataSource();
}
这里的DataSource类具有属性url,用户名,密码,driverClassName,因此spring boot将它们映射到创建的对象。
DataSource类的示例:
public class DataSource {
private String url;
private String driverClassName;
private String username;
private String password;
//getters & setters, etc.
}
换句话说,这与使用构造型注释(@ Component,@ Service等)初始化某些bean的效果相同,例如
@Component
@ConfigurationProperties(prefix="spring.datasource")
public class DataSource {
private String url;
private String driverClassName;
private String username;
private String password;
//getters & setters, etc.
}
我想有一种简单的方法来构建测试数据,并发现生成器模式非常适合这里描述的情况。然而,为了减少组件测试中的样板代码,甚至更多,我发现来自龙目岛项目的@Builder是一个很好的候选人。然而,我找不到任何关于如何在方法上使用它的留档或在线示例。我想在某种工厂方法上使用,因为我不能对实现进行任何更改。 有人能举例说明如何在方法上实际使用?
我使用Spring 5.1.4。RELEASE,在bean配置方法上使用@Profile注释时,无法通过构造函数注入相同接口的两个字段。我有一个简单的Publisher组件,如下所示: 当我使用@Profile注释标记整个配置时,它会按预期工作: 上面的配置是可以的,但是当我只想在配置类中的某些方法上使用@Profile注释时就会出现问题: 然后我在启动过程中出错: 更新:已经解决了。这是我的错误
使用Spring bean作为带有@cacheable注释的键
我很好奇spring注入是如何用注释处理调用方法的。如果我将注释放在一个方法上,并返回一个实例,我理解这会告诉spring通过调用该方法并获得返回的实例来创建一个bean。但是,有时该bean必须用于连接其他bean或设置其他代码。通常的方法是调用带注释的方法来获得一个实例。我的问题是,为什么这不会导致bean的多个实例浮动? 例如,参见下面的代码(摘自另一个问题)。方法是用注释的,因此我想spr
我有一个类似于下面的类: 问题是,有太多@bean注释的方法,它们只是在名称、返回类型和方法调用的参数上有所不同。我想让这堂课类似于以下内容: Spring有可能吗?
问题内容: Spring Boot文档说要使用注释 您还需要列出要在注释中注册的属性类 ,如以下示例所示: 并给出以下代码: 但是在下一段中说: 即使前面的配置为AcmeProperty创建了常规bean,我们也建议仅处理环境,尤其不要从上下文中注入其他bean。话虽如此, 注释也会自动应用到您的项目中,以便从环境配置任何使用@ConfigurationProperties注释的现有bean。 建