이제 자바 코드로 스프링 빈을 직접 등록해 보자. 이전에 MemberService 클래스에서 작성해준 @Service 와 @Autowired 어노테이션들을 지워주고, MemberRepository 에서 작성해준 @Repository 어노테이션을 지워주자. 그 후 위와 같이 main -> java -> com.example.hellospringboot 에 SpringConfig 라는 Class를 하나 만들어준다. SpringConfig 클래스에 위와 같은 코드를 작성해주자. @Configuration 어노테이션을 클래스에 붙여준 후, @Bean 어노테이션을 사용하게 되면 각각 스프링 빈에 등록해주게 된다. 위 코드는 MemberService 와 MemoryMemberRepository 객체를 각각 스프링 ..
이제 우리는 서비스를 화면에 띄우고 싶다. 이를 위해 MemberController 을 만들어야 하는데 이 컨트롤러는 전에 만든 MemberService를 통해 회원 가입, 데이터 조회 등이 가능해야한다. 이를 컨트롤러가 MemberService를 의존한다고 표현한다. 위와 같이 main -> java -> com.example.hellospringboot -> controller 에 MemberController 라는 Class를 만들어준다. 이 클래스에 위와 같은 코드 틀을 작성한다. Spring을 실행하면 스프링 컨테이너가 생기는데 이 때 @Controller 어노테이션이 있으면 해당 클래스의 객체를 생성하여 컨테이너에 넣어둔 후 Spring이 이를 관리한다. 이를 흔히 컨테이너에서 스프링 빈이 관..
이제 만든 회원 서비스를 테스트해보자. Intellij에 들어가서 만들어준 MemberService 클래스에 들어가서 ctrl+shift+T 를 누르면 새 테스트 생성하기라는 버튼이 나온다. 이를 클릭하면 위와 같은 화면이 나오고, 라이브러리 테스트 항목은 JUnit5로 해주고, 아래의 테스트 메서드 생성 칸에 모두 체크해준 뒤 확인을 누른다. 그러면 위와 같이 자동으로 MemberServiceTest 라는 클래스가 생성되는 것을 확인할 수 있다. MemberService memberService=new MemberService(); 우선 위와 같이 MemberServiceTest 클래스에 memberService라는 MemberService 객체를 만들어주자. 먼저 MemberService의 join ..
이제 회원 서비스를 개발해보자. main -> java -> com.example.hellospringboot 로 가서 service라는 Package를 하나 만들어주고, 그 안에 MemberService라는 Class를 하나 만들어주자. 이 클래스 안에 위와 같은 코드를 작성해 주었다. 먼저 이전에 작성해 주었던 MemberRepository 타입을 가지는 memberRepository 객체를 상수로 선언해준다. 일단 가입하려는 이름과 같은 이름이 이미 store에 저장되어 있으면 그 회원은 가입이 불가하도록 하는 로직을 구현해보았다. join함수는 ValidateDuplicateMember 함수를 실행하고 Member객체를 매개변수로 받는다. ValidateDuplicateMember 함수는 이전에 ..
이제 회원 관리 예제를 한번 만들어보자!! 비즈니스 요구 사항은 다음과 같다고 하자. ● 데이터: 회원 ID, 이름 ● 기능: 회원 등록, 조회 ● 아직 데이터 저장소는 선정되지 않음 일반적인 웹 애플리케이션 구조를 한번 알아보자 ● 컨트롤러: 웹 MVC의 컨트롤러 역할 ● 서비스: 핵심 비즈니스 로직 구현 (회원은 중복가입이 안된다는 로직 등) ● 리포지토리: DB에 접근, 도메인 객체를 DB에 저장하고 관리 ● 도메인: 비즈니스 도메인 객체(회원, 주문, 쿠폰 등 주로 DB에 저장하고 관리됨) 클래스 의존관계에 대해 알아보도록 하자. 아직 데이터 저장소가 선정되지 않았기 때문에 인터페이스로 구현 클래스를(MemberRepository) 변경할 수 있도록 설계한다(데이터 저장소는 RDB, NoSQL 등..