[Eclipse] defining a preference page extension

本文介绍如何在Eclipse中通过修改plug-in.xml文件来添加树型偏好设置页面。具体步骤包括定义根节点和子节点的偏好页面,并正确配置category属性。

要添加一个树型的preference pages,可以对plug.xml增加如下扩展点

 <extension
        point="org.eclipse.ui.preferencePages">
      <page        class="de.tu_darmstadt.informatik.st.pegasus.collaboration.eclipse_plugin.preferences.PegasusPerferencePage"
  id="de.tu_darmstadt.informatik.st.pegasus.collaboration.eclipse_plugin.preferences.PegasusPreferencePage"
         name="Pegasus">
      </page

         <page
              name="Collaboration Server"              category="de.tu_darmstadt.informatik.st.pegasus.collaboration.eclipse_plugin.preferences.PegasusPreferencePage"
 class="de.tu_darmstadt.informatik.st.pegasus.collaboration.eclipse_plugin.preferences.CollaborationServerPreferencePage"           id="de.tu_darmstadt.informatik.st.pegasus.collaboration.eclipse_plugin.preferences.CollaborationServerPreferencePage">
   </extension>
 

注意,collaboration server 是子节点,所以它的category需填入跟节点的id。与此同时,根节点的category要留空(千万注意,不留空情况在3.3里无法显示,我就是在这个问题上败了近半个小时。)

收藏到: Del.icio.us
<think>好的,用户想了解如何在Spring或其他IoC容器中定义一个名为的Bean。首先,我需要确定用户具体指的是哪个IoC容器,但根据提供的引用内容,大部分是关于Spring框架的,所以重点放在Spring的配置方法上。 首先,用户可能对Bean的定义不太熟悉,需要解释基本概念。根据引用[1],Spring的IoC容器负责管理Bean,所以需要说明如何通过XML或Java配置来定义Bean。 接下来,引用[2]中的XML示例展示了如何定义id为"accountDao"和"itemDao"的Bean,这可以作为XML配置的例子。需要分步骤说明XML中的<bean>标签的使用,包括id和class属性的必要性,以及可能的其他配置,比如构造函数参数或属性注入。 然后,考虑用户提到的“named”的Bean,可能是指如何指定Bean的名称。在Spring中,Bean的名称可以通过id或name属性来定义,需要指出两者的区别,比如id是唯一的,而name可以有多个别名。 另外,引用[3]提到了使用Java配置的方法,比如@Bean注解,这也是现代Spring应用中常用的方式。需要补充说明基于Java的配置,如何通过@Configuration和@Bean注解来定义Bean,并指定名称。 还有可能用户对Bean的作用域感兴趣,如引用[4]中提到的scope注册,但用户的问题主要是定义Bean的名称,所以可能不需要深入作用域,但可以简要提及scope属性在定义Bean时的作用。 另外,用户的问题中提到“其他IoC容器”,虽然引用都是关于Spring的,但可能需要简单提及其他容器如Google Guice或CDI,但鉴于信息有限,可能重点放在Spring上更合适。 最后,用户可能存在的疑问点包括:Bean命名的最佳实践、XML与Java配置的选择、Bean名称冲突的处理等。需要确保回答覆盖这些方面,并生成相关问题帮助用户进一步学习。</think>在Spring框架中定义名为特定标识符的Bean主要通过XML配置或Java注解实现。以下是两种主流方式的详细说明: ### 一、XML配置方式 在XML配置文件中使用`<bean>`标签定义,其中`id`或`name`属性指定Bean名称: ```xml <bean id="accountDao" class="com.example.JpaAccountDao"> <property name="dataSource" ref="dataSource"/> </bean> ``` - `id`属性是唯一标识符,符合XML命名规范(不能包含特殊字符) - `name`属性支持别名定义,可用逗号分隔多个名称[^2] ### 二、Java注解方式 1. **组件扫描**(适用于自定义类): ```java @Component("myService") public class MyServiceImpl implements MyService { // class body } ``` 2. **显式声明**(适用于第三方库类): ```java @Configuration public class AppConfig { @Bean(name = {"dataSource", "mainDataSource"}) public DataSource createDataSource() { return new HikariDataSource(); } } ``` ### 三、高级配置特性 1. **别名机制**: ```xml <bean id="systemPreferences" class="com.example.SystemPreferences"/> <alias name="systemPreferences" alias="globalSettings"/> ``` 2. **作用域控制**: ```xml <bean id="userSession" class="com.example.UserSession" scope="session"/> ``` 3. **工厂方法创建**: ```xml <bean id="sslContext" class="javax.net.ssl.SSLContext" factory-method="getDefault"/> ``` ### 四、验证Bean定义 通过`ApplicationContext`获取Bean实例验证配置: ```java ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); MyService service = ctx.getBean("myService", MyService.class); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值