์์ฑ์ผ์: 2023๋ 5์ 15์ผ
โ๊ฒฐ๋ก
๐๋ฌธ์ ์ ์
UserDao๊ฐ ์ฃผ์ ์ด ์๋จ
sout์ผ๋ก ์ฐ์ด๋ณด๋ฉด null๋ฌ๋ค..
class UserDaoImplTest {
@Autowired
UserDao userDao;
@Test
void selectUser() throws SQLException {
System.out.println("userDao = " + userDao);
// User user = userDao.selectUser("coals0115");
// assertTrue("coals0115".equals(user.getId()));
}
}
๐ฆพํด๊ฒฐ์ฑ ์๋
- โย UserDaoImpl์ @Repository ๋ถ์ด์๋ ๊ฑฐ ํ์ธํ์
@Repository public class UserDaoImpl implements UserDao { @Autowired DataSource dataSource;
- โย root-context.xml์ ์ปดํฌ๋ํธ ์ค์บ
<context:component-scan base-package="com.fastcampus" />
- โย servlet-context.xml์ ์ปดํฌ๋ํธ ์ค์บ
<context:component-scan base-package="com.fastcampus" />
- ApplicationContext ์ง์ ์ฐ์ด๋ณด๊ธฐ
UserDao.class๋ก ๊ฐ์ ธ์ค๋ฉด ๊ฐ์ด ์๋๋ฐ@Autowired์ ๋ํ ์ด์ ์ผ๋ก ์ฃผ์ ๋ฐ์์ ์ค๋ฉด ์๋จโฆclass UserDaoImplTest { @Autowired UserDao userDao; @Test void selectUser() throws SQLException { ApplicationContext ac = new GenericXmlApplicationContext("file:src/main/webapp/WEB-INF/spring/**/root-context.xml"); System.out.println("ac = " + ac); UserDao userDao1 = (UserDao) ac.getBean(UserDao.class); System.out.println("userDao1 = " + userDao1); System.out.println("userDao = " + userDao); // System.out.println("userDao = " + userDao); // User user = userDao.selectUser("coals0115"); // assertTrue("coals0115".equals(user.getId())); } }
โ์์ธ & ํด๊ฒฐ๋ฐฉ๋ฒ
ํ ์คํธ ์ฝ๋์์๋ ์๋ ๋ ์ค์ด ํ์ํจ ๋ฃ์ด์ฃผ๋ ์๋ฌ ์์ด ์ ๋๋ค.
// ํ๋์ ac๋ฅผ ๋ง๋ค์ด๋๊ณ ์ฌ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ด์ ์ด ์์
@RunWith(SpringJUnit4ClassRunner.class) // ac๋ฅผ ์๋์ผ๋ก ๋ง๋ค์ด์ค
@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/spring/**/root-context.xml"})
// xml ์ค์ ํ์ผ ์์น๋ฅผ ์ง์ ํด์ค. root-context.xml์ ์กด์ฌํ๋ bean์ผ๋ก ํ
์คํธํจ
์์์ userDao1 ์ ๋๋ก ๊ฐ์ ธ์จ ์ด์ ๋ ์ง์ ac ์์ฑํด์คฌ๊ธฐ๋๋ฌธ..
userDao๋ ac ๊ฐ์ฒด๊ฐ ์์ฑ์ด ์ ๋์ด์ ์ฃผ์ ์ ๋ชป ๋ฐ์์จ ๊ฒ
Uploaded by N2T