很多时候我们在服务器启动时会加载一些数据,如果需要操作数据。

网上有很多的方法  如: 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中就可以了 。。

这样就实现了服务器启动时加载一个类。