Spring과 mybatis연동하는데 Property 'dataSource' is required 오류가 납니다...
글쓴이: jic5760 / 작성시간: 금, 2016/08/12 - 8:45오후
오늘 이것 때문에 하루 종일 머리가 아프네요...
Spring에 mybatis을 연동하는데 자꾸 Property 'dataSource' is required 이런 오류가 뜹니다.
우션 오류 내용입니다.
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: Property 'dataSource' is required org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause java.lang.IllegalArgumentException: Property 'dataSource' is required org.springframework.util.Assert.notNull(Assert.java:112) org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:292) org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:435) kr.jclab.studyworld.webserver.Common.getSqlSessionFacotory(Common.java:9) kr.jclab.studyworld.webserver.controller.ProcMemberController.reqhandler_app_Join(ProcMemberController.java:39) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
설정파일쪽이구요
<bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost/dbname" /> <property name="username" value="username" /> <property name="password" value="password" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath*:....../mapper/*.xml" /> </bean>
몇번을 확인하고 복붙을 해 봐도... dataSource.. 대소문자 구분도 같습니다.
근데 왜 자꾸 dataSource가 없다고 나올까요?
혹시나 이 xml파일이 적용이 안되는건가?? 하는 생각도 헀지만 분명히 이 xml을 contextConfigLocation에 추가도 해 놨고
driver을 다른 이름으로 수정하면 없는 Class라고 오류도 뜨는걸 봐서 이 xml파일이 적용도 됩니다..
아 MyBatis의 SqlSessionFactory을 사용하는 부분은
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.getObject();
이렇습니다.
Forums:
하....ㅠㅠ 자문자답입니다.
이렇게 하니까 되네요....?
http://www.mybatis.org/spring/ko/factorybean.html
대체 여기 나온 소스는 뭔지...ㅠㅠ
하... 오늘 하루를 꼬박 날렸는데 이렇게 간단히 되다니..
역시 검색으로 안될때는 직접 소스를 까봐야 되겠네요..
진작에 mybatis소스를 까볼껄..ㅠㅠ
댓글 달기