文章列表
lucene初学。创建索引和搜索
创建索引:
Document doc = File2DocumentUtils.file2Document(filePath);
// file->doc
// 维护操作索引库,增删改
IndexWriter indexWriter = new IndexWriter(indexPath, analyzer, true, MaxFieldLength.LIMITED);
indexWriter.addDocument(doc);
indexWriter.close();
搜索:
String queryString = " ...
Spring之事件监听
- 博客分类:
- java
pring借助于org.springframework.context.event.ApplicationEvent抽象类及其子类实现事件的发布;借助于org.springframework.context.ApplicationListener接口及其实现者实现事件的监听。这两者构成了观察者模式(Observer)。
ApplicationContext提供了publishEvent方法,实现事件的发布。Spring提供了如下三种常见的ApplicationEvent事件实现:
org.springframework.web.context.support.RequestHandledEv ...
ApplicationContext在运行期会自动检测到所有实现了ApplicationListener的bean对象,并将其作为事件接收对象。当ApplicationContext的publishEvent方法被触发时,每个实现了ApplicationListener接口的bean都会收到ApplicationEvent对象,每个ApplicationListener可根据事件类型只接收处理自己感兴趣的事件,比如上面的StudentAddListener只接收StudentAddEvent事件。
ThreadPoolExecutor使用介绍
- 博客分类:
- java
线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
long keepAliveTime, TimeUnit unit,
BlockingQueue<Runnable> workQueue,
RejectedExecutionHandler handler)
corePoolSize: 线程池维护线 ...
Runtime.getRuntime().addShutdownHook(shutdownHook);
这个方法的含义说明:
这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。
在mac下试了一下,当调用System.exit()、使用系统kill命令杀掉java进程时该方法都会被调用。但是需要注意的是,当调用kill -9杀进程时,方法不被调用,JVM直接退出
1.@Autowired注解(不推荐使用,建议使用@Resource)
@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。要使@Autowired能够工 ...
@PostConstruct是Java EE 5引入的注解,Spring允许开发者在受管Bean中使用它。当DI容器实例化当前受管Bean时,@PostConstruct注解的方法会被自动触发,从而完成一些初始化工作,示例代码如下。
@PostConstruct
public void postConstruct(){
log.info("调用postConstruct");
}
1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)
4、@component ...