很多时候我们在服务器启动时会加载一些数据,如果需要操作数据。
网上有很多的方法 如: servlet listener ...
今天看到一种方法 觉得也不错
代码如下:
package com.servlet;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.lucene.analysis.Analyzer;
import org.springframework.beans.factory.InitializingBean;
import lucene.Lucene;
import com.chenlb.mmseg4j.analysis.MMSegAnalyzer;
import com.model.User;
public class Add implements InitializingBean{
private SqlSession sqlSession;
public SqlSession getSqlSession() {
return sqlSession;
}
public void setSqlSession(SqlSession sqlSession) {
this.sqlSession = sqlSession;
}
static String indexPath="D:\\java\\item\\angularDemo\\WebContent\\indexFile";
static Analyzer analyzer= new MMSegAnalyzer();
@Override
public void afterPropertiesSet() throws Exception {
try {
@SuppressWarnings("unused")
Lucene lucene=new Lucene(indexPath, analyzer);
@SuppressWarnings("unchecked")
List<User> list=sqlSession.selectList("user.selectUserInfor");
for (int i = 0; i < list.size(); i++) {
Lucene.addDocument(analyzer, indexPath, list.get(i).getId(), list.get(i).getUsername(), list.get(i).getPresentation(), i+"");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
只需要建一个类,实现initializingBean 接口就好了。然后再将这个类配置在spring.xml中就可以了 。。
这样就实现了服务器启动时加载一个类。
