ÂüÁ¶ : Introduction to Spring IDE 2.0Spring IDE 2.0 ¼³Ä¡¹æ¹ýÀº Á¦¿ÜÇÏ°Ú½À´Ï´Ù.1. Spring ÇÁ·ÎÁ§Æ® ¸¸µé±âƯº°È÷ ´Þ¶óÁø °Ç ¾ø½À´Ï´Ù. ´Ù¸¸ ÇÁ·ÎÁ§Æ®¿¡ s°¡ ºÙ¾ú°í, Spring ¼³Á¤ ÆÄÀÏ(xml ÆÄÀÏ)¿¡¼ ÀÚµ¿¿Ï¼ºÀ» Áö¿øÇØ ÁÖ°Ô µË´Ï´Ù. ÇÏÁö¸¸ ¾ÆÁ÷Àº ¼³Á¤ÆÄÀÏÀ» ¸¸µéÁö ¾Ê¾Ò±â ¶§¹®¿¡ ÀÏ¹Ý ÀÚ¹Ù ÇÁ·ÎÁ§Æ® »ý¼º°ú Â÷ÀÌÁ¡À» ¸ø´À³§´Ï´Ù.2. ¼Ò½º ÄÚµùº°´Ù¸¦°ÍÀÌ ¾ø½À´Ï´Ù. ±×³É POJO Ŭ·¡½º µÎ °³¸¦ ¸¸µé¾î¼ ¼·Î ÂüÁ¶ °ü°è¿¡ ÀÖµµ·Ï ÄÚµùÇغ¸°Ú½À´Ï´Ù.
package whiteship;
public class School {
private Student student;
private String name;
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package whiteship;
public class Student {
private School school;
private String name;
public School getSchool() {
return school;
}
public void setSchool(School school) {
this.school = school;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3. ¼³Á¤ ÆÄÀÏ ¸¸µé±âÀÚ ¿©±â¼ ´Ù½Ã ÇÑ ¹ø Spring IDEÀÇ µµ¿òÀ» Å©°Ô ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.¼³Á¤ÆÄÀÏÀÇ À̸§°ú ¼³Á¤ÆÄÀÏÀ» ¸¸µé À§Ä¡¸¦ ÁöÁ¤ÇØ ÁÝ´Ï´Ù.¿©±â±îÁø º°°Å ¾Æ´Ñ°Å °°ÁÒ. ÇÏÁö¸¸ ÀÌ ´ÙÀ½ÀÌ ´ë¹ÚÀÔ´Ï´Ù.¹Ù·Î ÀÌ°Å!! ¿©±â¼ ÇÊ¿äÇÑ ½ºÅ°¸¶¸¸ ·ÎµùÇؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Àú´Â ¸ðµç ½ºÅ°¸¶¸¦(osgi»©°í..) ÀüºÎ ÀÚµ¿ ¿Ï¼º¿¡ µî·ÏÇسõ°í »ç¿ëÇÏ°í ÀÖ¾ú½À´Ï´Ù. µû¶ó¼ »ç¿ëÇÏÁöµµ ¾ÊÀ» ½ºÅ°¸¶¸¦ ºÒ·¯³õ°í »ç¿ëÇÑ ¼³Á¤ÆÄÀϵéÀÌ ²Ï µË´Ï´Ù. ±×·¸´Ù°í ÀÚµ¿ ¿Ï¼ºÀ¸·Î ÄÚµå ¸¸µé¾î ³õ°í Áö¿ì´Â ÀÛ¾÷À» ÇÏÀÚ´Ï »ó´çÈ÷ ±ÍÂú¾Ò¾ú´Âµ¥ Àú°É º¸´Ï ³Ê¹«µµ ±â»Þ´Ï´Ù.Áö±ÝÀº ÇÊ¿äÇÑ°Ô ¾ø±â ¶§¹®¿¡ Next~ Finish!4. ¼³Á¤ ÆÄÀÏ Ã¤¿ì±âÀ§¿¡¼ ¸¸µé¾îÁø ¼³Á¤ ÆÄÀÏ¿¡ beanÀ» Ãß°¡ÇØ ÁÝ´Ï´Ù.beanÀÇ ¼Ó¼ºÀ» ¼³Á¤ÇÒ ¶§´Â ÀÚµ¿¿Ï¼ºÀ» ²À È°¿ëÇÏ´Â ½À°üÀÌ ¿ÀŸ¸¦ ÁÙ¿©ÁÖ°í ¿©À¯ÀÖ´Â ÄÚµù(±»ÀÌ ¾öû³ ŸÀÚ¼ö¸¦ ÀÚ¶ûÇÏÁö ¾ÊÀ¸¼Åµµ µË´Ï´Ù.)¿¡ µµ¿òÀÌ µË´Ï´Ù. <bean id="keesun" class="whiteship.Student">
<property name="school" ref="kookmin" />
<property name="name" value="±â¼±" />
</bean>
<bean id="kookmin" class="whiteship.School">
<property name="student" ref="keesun" />
<property name="name" value="±¹¹Î´ë" />
</bean>
5. ÇÊ¿äÇÑ ¶óÀ̺귯¸® Ãß°¡spring.jar¿Í commons-logging.jar´Â Çʼö ÀÔ´Ï´Ù.´ýÀ¸·Î log4j.jar¸¦ Ãß°¡ÇØÁÖ½Ã¸é ·Î±×¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.spring-mock.jar¿Í junit.jar¸¦ Ãß°¡Çϸé SpringÀ» À§ÇÑ Å×½ºÆ® Ŭ·¡½ºµéÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.ÇÁ·ÎÁ§Æ® ÇÏÀ§¿¡ lib Æú´õ¸¦ ¸¸µå½Å µÚ À§ÀÇ jarÆÄÀϵéÀ» º¹»ç ºÙ¿©³Ö±â ÇϽðí ÀÚ¹Ù ºôµå Æнº¿¡¼ Ãß°¡ÇØ ÁÝ´Ï´Ù.6. Å×½ºÆ® ÀÛ¼º ¹× ½ÇÇàpackage whiteship;
import org.springframework.test.AbstractDependencyInjectionSpringContextTests;
public class TestDI extends AbstractDependencyInjectionSpringContextTests {
private Student student;
private School school;
public void setStudent(Student student) {
this.student = student;
}
public void setSchool(School school) {
this.school = school;
}
@Override
protected String[] getConfigLocations() {
return new String[] { "file:src/whiteship/applicationContext.xml" };
}
public void testDI() throws Exception {
assertNotNull(student);
assertNotNull(school);
assertEquals(student, school.getStudent());
assertEquals("±â¼±", student.getName());
}
}
³Ê¹« ±æ¾îÁ®¼ ÀÌÈÄ´Â ´ÙÀ½¿¡ °è¼Ó ¿¬ÀçÇÏ°Ú½À´Ï´Ù.