@Repository
public class BookDao {
@Autowired
SqlSessionTemplate sqlSessionTemplate;
public int insert(Map<String, Object> map) {
return this.sqlSessionTemplate.insert("book.insert", map);
}
}
스프링 강의를 들으면서 궁금한 점이 생겼다. Dao나 Controller 클래스 상단에 인스턴스로 선언한 변수를 아래에서 호출할 때 굳이 this를 안 써도 코드가 동작하는데에 오류가 없음. 확인해보니 sqlsessiontemplate객체를 멤버 변수로 선언해서 의존성 주입을 하면 (static 처럼) 메모리에 바로 올라간다고 한다. 그럼에도 불구하고 this를 쓰는 이유는 개발자들이 해당 변수 호출할 때 인스턴스 변수인지 클래스 변수인지 구분하기 위해서 사용한다고 한다.
그런데 그러면 static 선언을 해도 되는거 아닌가 궁금했는데 그런 경우에는 싱글턴 패턴을 쓴다고 하더라.
'개발공부 > 궁금해서_찾아봄' 카테고리의 다른 글
알고리즘 시간 복잡도와 공간 복잡도 (0) | 2021.06.04 |
---|---|
8080 포트 죽이기 (0) | 2021.05.28 |
클라이언트랑 서버 둘 다 체크해보는게 좋은 이유 (0) | 2021.05.26 |
JSP ConnectionPool (0) | 2021.05.17 |
[JDBC] connectionUri, 콜론과 슬래시의 차이 (0) | 2021.05.11 |
댓글