1. ºóÀÇ ÀÏ»ý
ÀüÅëÀûÀÎ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼ÀÇ ºóÀÇ »ý¸íÁÖ±â´Â new Å°¿öµå¸¦ ÅëÇØ ÀνºÅϽºÈ µÇ°Å³ª ¿ªÁ÷·ÄÈ(deserializatino) µÇ¸ç, »ç¿ëÇÒ ¼ö ÀÖ´Â »óÅ°¡ µÈ´Ù.
SpringÀÌ ºóÀÇ »ý¼º¹æ¹ýÀ» Ä¿½ºÅ͸¶ÀÌ¡ ÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇϱ⠶§¹®¿¡ spring ÄÁÅ×À̳ʿ¡¼ÀÇ ºóÀÇ »ý¸íÁֱ⸦ ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù.
´ÙÀ½ ±×¸²Àº springÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅؽºÆ® ¾È¿¡¼ÀÇ ºóÀÇ »ý¸íÁÖ±âÀÌ´Ù.
ºóÀÇ »ý¼º
a. ÄÁÅ×À̳ʴ ºóÀÇ Á¤ÀÇ(ºó¿¡ ´ëÇÑ Á¤º¸¸¦ ¾îµò°¡¿¡ ÀÖ°ÚÁÒ)¸¦ ¾Ë¾Æ³½ ´ÙÀ½, ºóÀ» ÀνºÅϽºÈ ÇÑ´Ù.
b. ÀÇÁ¸¼º ÁÖÀÔÀ» ÀÌ¿ëÇØ ºóÀÇ Á¤ÀÇ¿¡ ÁöÁ¤µÇ¾î ÀÖ´Â ¸ðµç Ư¼º¿¡ °ªÀ» ä¿î´Ù.
c. ºóÀÌ BeanNameAware ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ´Ù¸é, ÆÑÅ丮´Â ºóÀÇ ID¸¦ setBeanName()¿¡ Àü´ÞÇÏ¿© È£ÃâÇÑ´Ù.
d. ºóÀÌ BeanFactoryAware ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ´Ù¸é, ÆÑÅ丮´Â ÀÚ½ÅÀÇ ÀνºÅϽº¸¦ setBeanFactory()¿¡ Àü´ÞÇÏ¿© È£ÃâÇÑ´Ù.
e. ºóÀÌ ApplicationContextAware ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇß´Ù¸é setApplicationContext() ¸Þ¼Òµå°¡ È£ÃâµÈ´Ù.
f. ºó°ú ¿¬°üµÇ¾î ÀÖ´Â Çϳª ÀÌ»óÀÇ BeanPostProcessor°¡ Á¸ÀçÇÑ´Ù¸é, °¢°¢ÀÇ ¸ðµç postProcessBeforeInitialization() ¸Þ¼Òµå°¡ È£ÃâµÈ´Ù.
g. ºóÀÌ ÀçÁ¤µÇ¾î ÀÖ´Â init-method°¡ ÀÖÀ¸¸é È£ÃâµÈ´Ù.
h. ¸¶Áö¸·À¸·Î ºó°ú ¿¬°üµÇ¾î ÀÖ´Â Çϳª ÀÌ»óÀÇ BeanPostProcessor°¡ Á¸ÀçÇÏ´Ù¸é, ¸ðµç postProcessAfterInitialization()¸Þ¼Òµå°¡ È£ÃâµÈ´Ù.
i. ºóÀº ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ Áï½Ã »ç¿ë µÉ ¼ö ÀÖ´Â »óÅÂÀ̸ç, ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾ÊÀ»¶§±îÁö ºó ÆÑÅ丮 ¾È¿¡ ³²¾Æ ÀÖ°Ô µÈ´Ù.
ºóÀÇ ¼Ò¸ê
a. ºóÀÌ DisposableBean ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ°í ÀÖ´Ù¸é, destroy() ¸Þ¼Òµå°¡ È£ÃâµÈ´Ù.
b. Ä¿½ºÅÒ destroy-method°¡ ÁöÁ¤µÇ¾î ÀÖ´Ù¸é ±× ¸Þ¼Òµå°¡ È£ÃâµÈ´Ù.