一个类实现了InitializingBean 这个接口,可以实现一个afterPropertiesSet的方法,可以在类加载之前对属性赋值
@Configuration
public class ProducerConfig implements InitializingBean {
@Value("${kafka.producer.topic}")
private String topic;
@Value("${kafka.producer.brokerList}")
private String brokerList;
// 由于从配置文件读取的是字符串,所以在下面进行赋值
private String keyOrValue;
public ProducerConfig() {
}
/**
* InitializingBean 实现这个接口,
* @throws Exception
*/
@Override
public void afterPropertiesSet() throws Exception {
this.keyOrValue = StringSerializer.class.getName();
}
public String getTopic() {
return topic;
}
public String getBrokerList() {
return brokerList;
}
public String getKeyOrValue() {
return keyOrValue;
}
@Override
public String toString() {
return "ProducerConfig{" +
"topic='" + topic + '\'' +
", brokerList='" + brokerList + '\'' +
", keyOrValue='" + keyOrValue + '\'' +
'}';
}