MyBatis Scope and Lifecycle
MyBatis¿¡¼ ÇÙ½É Å¬·¡½ºÀÇ Scope °ú Lifecycle¸¦ ÀÌÇظ¦ ÇØ¾ß »ç¿ë½Ã ¾²·¹µå µ¿½Ã¼º ¹®Á¦¸¦
¹æÁö ÇÒ¼ö ÀÖ½À´Ï´Ù.
- SqlSessionFactoryBuilder
SqlSessionFactory ¸¦ »ý¼ºÇÒ¶§¸¸ »ç¿ëÇϴ Ŭ·¡½º ÀÔ´Ï´Ù.
Áï, ÇÊ¿äÇÒ¶§¸¸ »ç¿ëÇϴ Ŭ·¡½º·Î½á instance »ý¸í ÁÖ±â´Â method ´ÜÀ§ÀÇ scope ÀÔ´Ï´Ù.
- SqlSessionFactory
SqlSession¸¦ »ý¼ºÇϴ Ŭ·¡½º ÀÔ´Ï´Ù. SqlSessionÀº JDBC¿¡¼
ConnectionÀ̶ó°í »ý°¢ Çϸé ÀÌÇØ°¡ ½±½À´Ï´Ù.
SqlSessionFactory ´Â Connection Pooló·³ °è¼Ó Á¦»ç¿ëÀ» ÇØ¾ß Çϱ⠶§¹®¿¡
instance »ý¸í ÁÖ±â´Â application ´ÜÀ§ÀÇ scope ÀÔ´Ï´Ù.
One SqlSessionFactory instance per database
(Database°¡ n°³ÀÎ °æ¿ì SqlSessionFactoryµµ n°³)
- SqlSession
SqlSessionÀº À§¿¡¼ ¼³¸íÇÑ °Í ó·³ JDBC Connection°ú ºñ½ÁÇÑ »çÀÌŬÀ»
°¡Áö±â ¶§¹®¿¡ instance »ý¸í ÁÖ±â´Â request ´ÜÀ§ÀÇ scope ÀÔ´Ï´Ù.
- Mapper Instances
½ÇÁ¦·Î SQL¸¦ ½ÇÇàÇÏ´Â ¿ªÇÒÀ» Çϱ⠶§¹®¿¡ instance
»ý¸í ÁÖ±â´Â method ´ÜÀ§ÀÇ scope ÀÔ´Ï´Ù.
¹Ýµå½Ã MyBatis¸¦ »ç¿ëÇϽǶ§ À§ÀÇ scopeÀ» ÀÎÁö ÇϽðí
ÇÁ·ÎÁ§Æ®¿¡¼ Àß »ç¿ë Çϱâ½Ã ¹Ù¶ø´Ï´Ù.
Ãâó: http://devx.tistory.com/entry/MyBatis-Scope-and-Lifecycle [Meta Developer Story]