¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯

½ñ¤­¤«¤±¤Ç¤¹!!!!!

J2SE 5.0¤«¤éAnnotation¤¬Æ³Æþ¤µ¤ì¤Þ¤·¤¿¡£¤³¤ì¤Ï¥½¡¼¥¹¤ËÃí¼á¤ò¤Ä¤±¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¤¬¡¢¤³¤ÎÃí¼á¤ò²ò¼á¤·¤Æ¤¤¤í¤¤¤í¤ÊÁàºî*1¤ò¹Ô¤¦APT(Annotation Processing Tool)¤È¤¤¤¦¥Ä¡¼¥ë(Ãí¼á¥×¥í¥»¥Ã¥µ¤Ã¤Æ¤¤¤Ã¤Æ¤Þ¤¹¤Í)¤âJDK 5.0¤È°ì½ï¤ËÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£*2

¤µ¤Æº£²ó¤Ï¤³¤ì¤òEclipse¥×¥é¥°¥¤¥ó¤ÇÀ©¸æ¤¹¤ëÊýË¡¤òÄ´¤Ù¤Þ¤·¤¿¡£¿§¡¹¤È¤á¤ó¤É¤¯¤µ¤¤¤Ç¤¹¡£¡£

²Ôư³Îǧ¤ÏEclipse3.3¤Ç¹Ô¤¤¤Þ¤·¤¿¡£*3

¤ä¤Ã¤Æ¤ß¤ë

¤ä¤Ã¤Æ¤ß¤Þ¤¹¡£Annotation¤Ï

package nu.mine.kino.annotations;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface SpringBean {
    boolean singleton() default false;
}

¤ß¤¿¤¤¤Ê¥â¥Î¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£¤³¤ÎAnnotation¤¬¤µ¤ì¤¿¥¯¥é¥¹¤Ï¡¢¤½¤Î¥¯¥é¥¹Ì¾¤ÎBeanID¤Ë¤·¤ÆSpring¤ÎBeanÄêµÁ¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤµ¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤¹*4¡£¤³¤ÎAnnotation¤Ïjar²½¤·¤Æ¤ª¤¤¤Æ¡¢¸å¤Ë½Ð¤Æ¤¯¤ë¥×¥é¥°¥¤¥ó¤Ë¤â¡¢¤³¤ÎAnnotation¤ò»ÈÍѤ¹¤ë¥×¥í¥¸¥§¥¯¥È¤Ë¤âÇÛÃÖ¤·¤Þ¤¹¡£

¤³¤ì¤òÆÉ¤ß¤³¤ó¤Ç¥Ñ¡¼¥¹¤¹¤ë½èÍý¤Ï¡¢APT¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤ò»ÈÍѤ·¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï

  • com.sun.mirror.apt.AnnotationProcessorFactory?
  • com.sun.mirror.apt.AnnotationProcessor?

¤Ê¤É¤Î¼ÂÁõ¥¯¥é¥¹¤òºîÀ®¤¹¤ì¤Ð£Ï£Ë¤Ç¤¹¡£¾ÜºÙ¤Ï¸å½Ò¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¤µ¤Æ¡¢¾å¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤¬¤â¤¦¤¢¤ë¤È¤·¤Æ¡¢Eclipse¤Î¥×¥é¥°¥¤¥ó¤òºî¤Ã¤Æ¤ß¤Þ¤¹¡£¥×¥é¥°¥¤¥ó¤Ï

nu.mine.kino.plugin.aptsamples

¤È¤¤¤¦¥×¥í¥¸¥§¥¯¥È¤Ë¤·¤Þ¤¹¡£

  • MANIFEST.MF
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: APT Samples Plug-in
    Bundle-SymbolicName: nu.mine.kino.plugin.aptsamples;singleton:=true
    Bundle-Version: 0.0.1
    Bundle-Activator: nu.mine.kino.plugin.aptsamples.Activator
    Bundle-Localization: plugin
    Require-Bundle: org.eclipse.ui,
     org.eclipse.core.runtime,
     org.eclipse.jdt.apt.core,
     nu.mine.kino.plugin.log4j,
     org.apache.ant,
     org.eclipse.core.resources
    Eclipse-LazyStart: true
    Bundle-ClassPath: .,
     beansanno.jar,
     lib/commons-collections.jar,
     lib/oro.jar,
     lib/xjavadoc-1.1.jar,
     lib/velocity-1.4.jar
  • plugin.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <?eclipse version="3.2"?>
    <plugin>
       <extension
             point="org.eclipse.jdt.apt.core.annotationProcessorFactory">
          <factories enableDefault="true">
             <factory class="nu.mine.kino.plugin.aptsamples.
                               SpringAnnotationProcessorFactory"/>
          </factories>
       </extension>
    </plugin>
    
    org.eclipse.jdt.apt.core.annotationProcessorFactory?³ÈÄ¥¥Ý¥¤¥ó¥È¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£Java¥×¥í¥¸¥§¥¯¥È¤ÎÀßÄê²èÌ̤ˡ֤ɤÎcom.sun.mirror.apt.AnnotationProcessorFactory?¤ò»ÈÍѤ¹¤ë¤«¡×¤òÀßÄꤹ¤ë²èÌ̤¬¤¢¤ë¤Î¤Ç¤¹¤¬¡¢¾å¤Î»ØÄê¤Ë¤è¤ê¡¢¤½¤Î²èÌ̤ˤ³¤Î¥×¥é¥°¥¤¥ó¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï³Æ¥×¥í¥¸¥§¥¯¥È¤Î¥×¥í¥Ñ¥Æ¥£¤Î
    Java Compiler >> Annotation Processing >> Factory Path
    ¤Ç¤¹¤Í¡£¼ÂºÝ¤Î²èÌ̤Ϥ³¤ó¤Ê´¶¤¸¡£
pre01.png

´ØÏ¢¥ê¥ó¥¯


¤³¤Îµ­»ö¤Ï

ÁªÂò»è Åêɼ
¤ª¤â¤·¤í¤«¤Ã¤¿ 0  
¤½¤¦¤Ç¤â¤Ê¤¤ 2  

¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯

¸½ºß¤Î¥¢¥¯¥»¥¹:6764


*1 ¤Ê¤ó¤«¸¡¾Ú¤·¤¿¤ê¡¢ÊÌ¥½¡¼¥¹ºî¤Ã¤¿¤ê¡¢¤¤¤í¤¤¤í¡¢¡¢¡¢
*2 ¤Á¤Ê¤ß¤ËJavaSE 6¤«¤é¤Ï¥³¥ó¥Ñ¥¤¥é¤¬Ä¾ÀÜÃí¼á¤ò²òÀϤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¤ß¤¿¤¤¤Ç¤¹¤Í¡£¥³¥ó¥Ñ¥¤¥é¤Ë¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤ÆProcessor¥¯¥é¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¥Á¥§¥Ã¥¯¤¬¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ç¤¹¡£http://www.techscore.com/tech/J2SE/JavaSE6/8.html
*3 Eclipse 3.2·Ï¤Ç¤ÏFactory¤òÀßÄꤹ¤ë²èÌ̤¬½Ð¤Æ¤³¤º¡¢¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
*4 ËܼÁ¤¸¤ã¤Ê¤¤¤ó¤Ç¡¢¥×¥í¥Ñ¥Æ¥£¤Ê¤É¤ÎInjection¤È¤«¤Ï¥à¥·¤·¤Æ¤ß¤ë

źÉÕ¥Õ¥¡¥¤¥ë: filepre01.png 425·ï [¾ÜºÙ]

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2012-02-12 (Æü) 11:58:09 (97d)