Spring boot 2.2.1 @ConfigurationProperties 不生效的问题

ConfigurationProperties 注解使用

当配置文件中存在相同组的属性,用户名、密码、年龄 都属于用户属性的抽象,按面向的规则我们可以抽取出一个 User 的PO类型使用 @ConfigurationProperties 将外部配置绑定到代码中的bean。同时可以像其他任何Spring bean一样在整个应用程序代码中注入和使用此bean。

/**
 * 2.2 之前版本,必须使用 @Component 或者 @Configuration 声明成Spring Bean
 */
@Component
@ConfigurationProperties(prefix = "user")
public class User {
    private String username;

    private String password;

    private Integer age;
   
    ...
}

ConfigurationPropertiesScan

Spring boot 2.2.0 新增一个 @ConfigurationPropertiesScan 的注解,默认是开启的扫描 main 启动类所在的包路径的所有
ConfigurationProperties, 所以可以不用再加 @Component 或者 @Configuration ;

Spring boot 2.2.1 默认关闭此功能,需要显式指定此注解,实际在使用过程中 你会发现 @Profile 和这个注解的兼容问题, @ConfigurationPropertiesScan not compatible with @Profile @ConfigurationProperties,所以 Spring Boot 2.2.1 默认关闭了这个功能;

如果需要开启,在启动类上加@ConfigurationPropertiesScan即可;

好的,你的问题是 "rocketmq-spring-boot-parent 2.2.1 手动注册监听"。那么,我来为你解答。 在 RocketMQ 中,可以通过手动注册监听器的方式来实现消息的消费。具体地,在 Spring Boot 中,可以使用 @RocketMQMessageListener 注解来注册 RocketMQ 消息监听器。但是如果你想手动注册监听器,也是可以的。 手动注册监听器需要先创建一个 RocketMQ 的消息监听器,实现 RocketMQListener 接口,并实现 onMessage 方法。然后,在 Spring Boot 中,可以通过创建 SimpleRocketMQListenerContainer 对象来手动注册该监听器。 具体地,可以按照以下步骤来手动注册 RocketMQ 监听器: 1. 创建一个消息监听器,实现 RocketMQListener 接口,并实现 onMessage 方法。 ```java public class MyRocketMQListener implements RocketMQListener<String> { @Override public void onMessage(String message) { System.out.println("Received message: " + message); } } ``` 2. 创建一个 SimpleRocketMQListenerContainer 对象,并设置其属性。 ```java SimpleRocketMQListenerContainer container = new SimpleRocketMQListenerContainer(); container.setConsumerGroup("my-group"); container.setNamesrvAddr("localhost:9876"); container.setTopic("my-topic"); container.setRocketMQListener(new MyRocketMQListener()); ``` 3. 启动监听器容器。 ```java container.start(); ``` 通过以上步骤,就可以手动注册 RocketMQ 消息监听器了。需要注意的是,在手动注册监听器的情况下,需要手动管理监听器容器的生命周期,包括启动和关闭监听器容器。 希望这个回答能够帮助到你,如果还有什么问题,可以继续提出来哦。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值