InitializingBean接口里面有一个afterPropertiesSet()方法。
@Component
public class UserUtils implements InitializingBean{
private static final Logger LOGGER = LoggerFactory.getLogger(UserUtils.class);
private String TABLENAME = "users";
private String INFO = "info";
private byte[] tableNameAsBytes = Bytes.toBytes("users");
@Resource(name="hadoopConfiguration")
private Configuration config;
@Autowired
private UserDao userDao;
private Admin admin;
public void initialize() throws IOException{
if(admin.tableExists(TableName.valueOf(TABLENAME))){
LOGGER.info("初始化加载表,表已经存在-------------------------------");
return;
}else{
admin = ConnectionFactory.createConnection(config).getAdmin();
HTableDescriptor hTableDescriptor = new HTableDescriptor(TableName.valueOf(TABLENAME));
HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(INFO);
hColumnDescriptor.setMaxVersions(1);
hTableDescriptor.addFamily(hColumnDescriptor);
admin.createTable(hTableDescriptor);
LOGGER.info("初次加载,建表-------------------------------------------");
admin.close();
}
}
@Override
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
}
实现此接口的类,在实现输入的时候。将自动执行afterPropertiesSet()方法。这样可以在项目初始化的时候完成一些特定加载。
如果想要自动执行类中其他方法就要进行相关配置