본문 바로가기
[2장] 테스트 2장 테스트 스프링이 개발자에게 제공하는 가장 중요한 가치는 객체지향과 테스트이다. 스프링의 핵심인 IoC와 DI는 오브젝트의 설계, 관계, 생성, 사용에 관한 기술로 스프링은 IoC와 DI를 통해 객체지향 프로그래밍 언어의 근본과 가치를 개발자가 손쉽게 적용하고 사용할 수 있도록 도와주는 기술이다. 1. UserDaoTest 다시보기 🤷‍♂️ 테스트란? 내가 예상하고 의도했던대로, 코드가 정확히 동작하는지를 확인해서 코드에 대한 확신을 하게 해주는 작업이다. 웹을 통한 DAO 테스트의 문제점 Controller, Service, View 까지 만들어 테스트를 해야한다는 불편함이 존재한다. 위에 작성한 이유로 문제가 발생했을 때 문제가 생긴 지점에 대한 파악이 필요하다. 작은 단위의 테스트 웹을 통한 테.. 2021. 12. 11.
[1장] 오브젝트와 의존관계 스프링은 오브젝트를 어떻게 효과적으로 설계하고 구현하고 사용하고 이를 개선해나갈 것인가에 대한 명쾌한 기준을 마련해준다. 동시에 프레임워크를 제공한다. 1. 초난감 DAO DAO(Data Access Object)는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다. 사용자 정보를 DB에 넣고 관리할 수 있는 DAO 클래스이며, 사용자 정보를 생성하고, 읽어오는 두 개의 메소드를 먼저 만들었다. public class UserDao { public void add(User user) throws ClassNotFoundException, SQLException { Class.forName("org.h2.Driver"); Connection c = DriverManager.. 2021. 12. 8.
[기록] 211208 1. 스프링 의존성 주입방법 총 3가지 생성자 주입(Constructor Injection) , 수정자 주입(Setter 주입, Setter Injection), 필드 주입(Field Injection) - 생성자 주입은 생성자를 통해 의존관계를 주입하는 방법으로 생성자의 호출 시점에 호출됨 - 생성자 호출 시점에 1번만 호출된다. - final 을 사용할 수 있어서 불변객체임이 보장된다. - 순환참조를 방지한다. (순환참조일 경우 앱구동시 에러) - 테스트 코드 작성이 용이하다. * 수정자 주입 - setter 를 사용하여 의존관계를 주입하는 것으로 의존관계 주입은 한 번 일어나면 애플리케이션 종료시점까지 변경되는 일이 거의 없지만, 수정자 주입은 변경될 위험이 있다. * 필드 주입 - @Autowir.. 2021. 12. 2.