[인프런 워밍업클럽]-2주차

[인프런 워밍업클럽]-2주차

이번 2주차에서는 1주차에 작성했던 코드를 리팩토링 하면서

스프링 컨테이너, 스프링 빈이 무엇인지 배워보았다.

스프링 컨테이너는 스프링에서 자바 객체들을 관리하는 공간을 말한다. 자바 객체를 스프링에선 빈(Bean)이라고 하는데, 스프링 컨테이너에서는 이 빈의 생성부터 소멸까지를 개발자 대신 관리해주는 곳이라고 할 수 있다.

스프링 빈은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다. 

즉, 스프링 컨테이너가 관리하는 자바 객체를 뜻하며, 하나 이상의 빈(Bean)을 관리한다.

빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다. 

쉽게 이해하자면 new 키워드 대신 사용한다고 보면된다. 

그리고 JDBCTemplate 대신에 jpa를 적용하는것을 배웠는데

jdbcTemplate를 사용할때는

1.문자 sql로 작성하면 오타가났을때 컴파일 에러가 아닌 런타임 에러가 발생한다.

2.특정 db에 종속적이게 된다. mysql->oracle로 바꾼다면 sql문법이 다르기때문에 query를 하나하나 다 바꿔줘야한다.

3.반복 작업이 많아지게된다. 필드가 10개에서 20~30개로 바뀐다면 반복해야할 쿼리들이 많아지게 될 것이다.

4.db 테이블과 객체는 패러다임이 다르다.

이런 단점이있었다.

하지만 jpa를 사용하니 sql을 직접 만들어주고 SQL아닌 객체 중심으로 개발을 함에따라 생산성이 좋아지고 유지보수도 수월해진다는 장점이 있었다.

댓글을 작성해보세요.