该接口的使用很简单,下面就看一下使用步骤吧。
①创建实现类实现InitializingBean接口
@Service
public class TestService implements InitializingBean {
private String name = "张三";
private String sex = "男";
@Override
public void afterPropertiesSet() throws Exception {
if (name.equals("张三") && sex.equals("男")) {
this.name = "李四";
this.sex = "女";
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
②调用该实现类查看效果
@RestController
@RequestMapping
public class TestController {
@Autowired
private TestService testService;
private Logger logger = LoggerFactory.getLogger(TestController.class);
@GetMapping("/test")
public void getRedisConfig() {
// {}占位符
logger.info("获取当前service的属性,名字为:{},性别为:{}", testService.getName(), testService.getSex());
}
}
③打印输出结果
④解释说明
可以看到InitializingBean 接口使用非常简单,当一个类实现此接口后,会实现它的方法afterPropertiesSet() ,这个方法从名字上就很容易看出,是在属性初始化之后进行设置。
上述例子中TestService在类的初始化的时候有初始值,当这个两个属性在初始化完成后,进入到方法afterPropertiesSet() 中,此方法中对上面的两个属性进行了更改,最后打印的结果也验证了这一点。