InitializingBean接口的作用
2016-03-21 16:29
369 查看
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()方法。这样可以在项目初始化的时候完成一些特定加载。
如果想要自动执行类中其他方法就要进行相关配置
@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()方法。这样可以在项目初始化的时候完成一些特定加载。
如果想要自动执行类中其他方法就要进行相关配置
相关文章推荐
- 在读取视频时动态保存图片
- PHP之session
- Lunix下编译静态库文件
- freeradius-server-2.1.12 undefined reference to `pthread_getspecific' 的问题
- 链表合并
- Problem O
- Problem O
- 正则表达式
- ios手势识别——旋转、捏合、滑动、拖动、长按
- 寻找超过一半的数字(编程之美)
- SVN There are unfinished transactions detected
- MySQL参数--init_connect
- 执古之道,以御今之有
- 减少函数变量的方法
- ZZ: windows 批处理文件bat中获取当前目录
- 图的割边(有缺陷的算法)
- myeclipse tomcat的启动缓慢问题----一次会加载多个项目
- Linux/centos用户管理及权限管理
- Android内存优化大全
- 中断上下文、进程上下文