filot
155
2017-08-18 20:40:18
5
1907

Spring Boot + MyBatis에서 SqlSession injection 문의


현재 Spring Boot + MyBatis 조합으로 간단하게 예제를 진행중인데.


http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/


여기 예제를 기반으로 하고 있는데..

별도로 mapper와 domain 클래스는 만들지는 않고 

 Dao를 정의하여 SqlSession을 통해서 데이터를 단순 조회를 할려는데

SqlSession이 Null값이 들어가서 injection이 안되는 듯 한데 이유를 알 수 없습니다.


import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class TestDao {

	@Autowired
	private SqlSession sqlSession;	

	public String findTest() {		
		return this.sqlSession.selectOne("findTest");
	}
}


위와 같이 Autowired를 넣어주었는데 Spring Boot에서 알아서 injection을 해주는게 아닌가요?

구글링을 해봐도 전부 domain과 mapper를 정의해주던데.. 그렇게 하지 않고 진행을 하고 싶은데 여기서부터 막히네요..

혹시 아시는 분 도움을 붙탁드리겠습니다.


0
0
  • 답변 5

  • antop
    917
    2017-08-18 20:57:43

    filot 님이 예측한 에러가 아닐 수도 있을 거란 생각이 드는데.. 에러 로그 있나요?

    0
  • filot
    155
    2017-08-18 20:58:52

    2017-08-18 20:35:34 ERROR  - Application startup failed
    java.lang.IllegalStateException: Failed to execute CommandLineRunner
     at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:735)
     at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:716)
     at org.springframework.boot.SpringApplication.afterRefresh(SpringApplication.java:703)
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:304)
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
     at net.osi.QuartzApplication.main(QuartzApplication.java:20)
    Caused by: java.lang.NullPointerException: null
     at dao.TestDao.findTest(TestDao.java:14)
     at net.osi.QuartzApplication.lambda$0(QuartzApplication.java:27)
     at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:732)
     ... 6 common frames omitted
    2017-08-18 20:35:34 INFO  - Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@7fc2413d: startup date [Fri Aug 18 20:35:33 KST 2017]; root of context hierarchy
    2017-08-18 20:35:34 INFO  - Unregistering JMX-exposed beans on shutdown

    에러 로그는 위와 같습니다. null point exception이 떨어지더라구요

    0
  • SteveH
    1k
    2017-08-18 21:21:01

    Null Point는 상당히 어려운과제 중에 하나인데, sqlsessionfactory와 관련된 빈들을 설정/생성 해주엇나요?

    0
  • antop
    917
    2017-08-18 21:29:50

    Quartz 로 돌리셨다면 빈 인젝션이 안될 수도 있을 겁니다.

    https://www.google.co.kr/search?q=quartz+spring+bean+injection

    0
  • filot
    155
    2017-08-18 23:52:13

    sqlsessionfactory와 관련된 빈들을 설정을 해줘야 하나요?

    Spring Boot + MyBatis 샘플에서는 따로 해주지 않던데...

    전 Spring Boot에서 다 설정을 해주는걸로 생각을 했거든요..

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.