首页 » idea » 《零基础IntelliJ IDEA插件开发白话教程》第3节 Components

《零基础IntelliJ IDEA插件开发白话教程》第3节 Components

 

一.导读
本文主要讲解idea的组件模型,关于组件是基于PicoContainer实现的,从结构层次来讲组件是包含在容器中的,容器又分为Application level components、Project level components、Module level components三种级别。一个Application包含多个Project,一个Project又包含多个Module。
二.介绍
1.Components类型
Components有Application level components、Project level components、Module level components三种类型。
《零基础IntelliJ IDEA插件开发白话教程》第3章 Components1

2.Components生命周期
(1).Application level components

//创建-1.初始化
default void initComponent() {
  }
//创建-2.如果组件实现JDOMexternalizable接口,则调用接口的readExternal方法
//创建-3.如果组件实现PersistentStateComponent并且具有非默认的持久化状态,则调用接口的loadState方法
//卸载-1.释放
  default void disposeComponent() {
  }

(2).Project level components

//创建-1.初始化
default void initComponent() {
  }
//创建-2.通知已加载项目
  default void projectOpened() {
  }
//卸载-1.关闭
  default void projectClosed() {
  }
//卸载-2.释放
  default void disposeComponent() {
  }

(3).Module level components

//创建-1.初始化
default void initComponent() {
  } 
//创建-2.通知已将模块添加到项目中
  default void moduleAdded() {
  }
//创建-3.通知已加载项目
  @Deprecated
  default void projectOpened() {
  }
//卸载-1.关闭
  @Deprecated
  default void projectClosed() {
  }
//卸载-2.释放
  default void disposeComponent() {
  } 

3.Components注册
(1).Application level components

//创建一个 Application level component
public interface Component1 extends ApplicationComponent {
}
public class Component1Impl implements Component1 {
}

(2).Project level components

//创建一个 Project level component
public interface Component2 extends ProjectComponent {
}
public class Component2Impl implements Component2 {
}

(3).Module level components

//创建一个 Module level component
public interface Component3 extends ModuleComponent {
}
public class Component3Impl implements Component3 {
}

plugin.xml

原文链接:《零基础IntelliJ IDEA插件开发白话教程》第3节 Components,转载请注明来源!

0