Using Java Configuration
Spring JavaConfig/Chapter 7 : 2007.07.25 11:51
¿ø¹® : Chapter 7. Using Java Configuration
¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¾Ö³ëÅ×À̼ÇÀ» ¼³Á¤ ÆÄÀÏ·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ¸·Î ´ÙÀ½°ú °°Àº Ŭ·¡½º°¡ ÀÖ´Ù.
* AnnotationApplicationContext
ÀÌ Å¬·¡½º´Â Ant ½ºÅ¸ÀÏ ÆÐÅÏÀ» »ç¿ëÇÏ¿© ¾Ö³ëÅ×À̼ÇÀ» »ç¿ëÇÑ ¼³Á¤ Ŭ·¡½º À̸§À» ¹ÞÀ» ¼ö ÀÖ´Ù.
ApplicationContext oneConfig =
new AnnotationApplicationContext(SimpleConfiguration.class.getName());
ApplicationContext aBunchOfConfigs =
new AnnotationApplicationContext("**/configuration/*Configuration.class");
ÀÌ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅؽºÆ®´Â ÁÖ¾îÁø ÆÐÅÏ¿¡ ¸ÅĪµÇ´Â Ŭ·¡½º Æнº ³»ÀÇ Å¬·¡½ºµéÀ» ÀÚµ¿À¸·Î ÀоîµéÀÌ°í ºóÀ¸·Î µî·ÏÇÑ´Ù. ÀÌ ¹æ¹ýÀÇ ´ÜÁ¡Àº ¼³Á¤ °´Ã¼¸¦ parameterization ÇÒ ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù.
* Configuration post processor
<beans>
<!-- Spring configuration -->
<bean class="org.springframework.samples.petclinic.JdbcConfiguration"/>
<!-- Java Configuration post processor -->
<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/>
</beans>
µÎ ¹ø° ¹æ¹ýÀº ¼³Á¤ ó¸® »Ó¸¸ ¾Æ¸®³ª (ConfigurationPostProcessor¸¦ ÅëÇؼ) ¼³Á¤ °´Ã¼ ÀÚüµµ Á¦¾î Çϱ⠶§¹®¿¡ º¸´Ù ¸¹Àº ¼³Á¤ ¿É¼ÊÀ» Á¦°øÇÑ´Ù.
¼³Á¤À» ºóÀ¸·Î Á¤ÀÇÇÔÀ¸·Î½á, Spring ÄÁÅ×À̳ʴ ¼³Á¤À» (¼Ó¼º ¶Ç´Â ƯÁ¤ »ý¼ºÀÚ¸¦ »ç¿ëÇؼ)¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
<beans>
<!-- a possible configurable configuration -->
<bean class="org.my.company.config.AppConfiguration">
<property name="env" value="TESTING"/>
<property name="monitoring" value="true"/>
<property name="certificates" value="classpath:/META-INF/config/MyCompany.certs"/>
</bean>
<!-- Java Configuration post processor -->
<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/>
</beans>
¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¾Ö³ëÅ×À̼ÇÀ» ¼³Á¤ ÆÄÀÏ·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ¸·Î ´ÙÀ½°ú °°Àº Ŭ·¡½º°¡ ÀÖ´Ù.
* AnnotationApplicationContext
ÀÌ Å¬·¡½º´Â Ant ½ºÅ¸ÀÏ ÆÐÅÏÀ» »ç¿ëÇÏ¿© ¾Ö³ëÅ×À̼ÇÀ» »ç¿ëÇÑ ¼³Á¤ Ŭ·¡½º À̸§À» ¹ÞÀ» ¼ö ÀÖ´Ù.
ApplicationContext oneConfig =
new AnnotationApplicationContext(SimpleConfiguration.class.getName());
ApplicationContext aBunchOfConfigs =
new AnnotationApplicationContext("**/configuration/*Configuration.class");
ÀÌ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅؽºÆ®´Â ÁÖ¾îÁø ÆÐÅÏ¿¡ ¸ÅĪµÇ´Â Ŭ·¡½º Æнº ³»ÀÇ Å¬·¡½ºµéÀ» ÀÚµ¿À¸·Î ÀоîµéÀÌ°í ºóÀ¸·Î µî·ÏÇÑ´Ù. ÀÌ ¹æ¹ýÀÇ ´ÜÁ¡Àº ¼³Á¤ °´Ã¼¸¦ parameterization ÇÒ ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù.
* Configuration post processor
<beans>
<!-- Spring configuration -->
<bean class="org.springframework.samples.petclinic.JdbcConfiguration"/>
<!-- Java Configuration post processor -->
<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/>
</beans>
µÎ ¹ø° ¹æ¹ýÀº ¼³Á¤ ó¸® »Ó¸¸ ¾Æ¸®³ª (ConfigurationPostProcessor¸¦ ÅëÇؼ) ¼³Á¤ °´Ã¼ ÀÚüµµ Á¦¾î Çϱ⠶§¹®¿¡ º¸´Ù ¸¹Àº ¼³Á¤ ¿É¼ÊÀ» Á¦°øÇÑ´Ù.
¼³Á¤À» ºóÀ¸·Î Á¤ÀÇÇÔÀ¸·Î½á, Spring ÄÁÅ×À̳ʴ ¼³Á¤À» (¼Ó¼º ¶Ç´Â ƯÁ¤ »ý¼ºÀÚ¸¦ »ç¿ëÇؼ)¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
<beans>
<!-- a possible configurable configuration -->
<bean class="org.my.company.config.AppConfiguration">
<property name="env" value="TESTING"/>
<property name="monitoring" value="true"/>
<property name="certificates" value="classpath:/META-INF/config/MyCompany.certs"/>
</bean>
<!-- Java Configuration post processor -->
<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/>
</beans>
'Spring JavaConfig > Chapter 7' Ä«Å×°í¸®ÀÇ ´Ù¸¥ ±Û
2007.07.25 |