본문 바로가기

전체 글348

[Spring] 회원 관리 예제 - 웹 MVC 개발 | 회원 웹 기능 - 홈 화면 추가 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다.  회원 웹 기능 - 홈 화면 추가 1. 홈 컨트롤러 추가HomeController클래스를 생성하여 @Controller을 붙인 후 @GetMapping("/")을 지정하여 홈 화면을 설정,return값으로 home.html에 연결되도록 한다 2. 회원 관리용 홈resources/templates - home.html Hello Spring 회원 기능 회원 가입 회원 목록  3. 서버 실행내가 만들고 있는 Application의 근본인 HelloSpringApplication에 m.. 2022. 2. 25.
[Spring] 스프링 빈과 의존관계 - 자바 코드로 직접 스프링 빈 등록하기 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 자바 코드로 직접 스프링 빈 등록하기회원 서비스와 회원 리포지토리의 @Service, @Repository, @Autowired 애노테이션을 제거하고 진행한다.Service의 @Service, @Autowired와 Repository의 @Repository, @AutowiredController는 그대로 둔다→ Controller는 컴포넌트 스캔으로 컨테이너에 올라가고, 때문에 @Controller와 @Autowired가 사용된다 ˙ SpringConfig클래스 생성@Configuration@Bean 실습에서 메모리 리포지토리를 다른 리포지토리로 변경할 예정이므로,컴포넌트 스캔 방식 .. 2022. 2. 25.
[Spring] 스프링 빈과 의존관계 - 컴포넌트 스캔과 자동 의존관계 설정 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 컴포넌트 스캔과 자동 의존관계 설정회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비 1. MemberController클래스 생성@Controller애노테이션이 있으면 스프링이 뜰 때 스프링 컨테이너에 등록이 되며, 컨트롤러가 컨테이너를 관리하게 된다Controller의 생성자가 실행된다참고: helloController는 스프링이 제공하는 컨트롤러여서 스프링 빈으로 자동 등록        @Controller가 있으면 자동 등록됨 2. MemberService 객체MemberController는 MemberService 객체가 필요하지만 new를 통해 .. 2022. 2. 25.
[Spring] 회원 관리 예제 - 백엔드 개발 / 회원 서비스 테스트 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 1. 테스트 케이스 파일 만들기˙ 테스트의 경우 한글 이름을 많이 사용한다˙ given, when, then 기법 @Test void 회원가입() { //given //when //then } 2. 회원가입 테스트 메서드1) 가입 2) 중복 예외가 잘 동작하는지 테스트˙ try-catch 방법 ˙ 혹은assertThrows 메서드assertThrows(Class classType, Executable executable)첫 번째 인자: 발생할 예외 클래스의 Class 타입executable을 실행하여 예.. 2022. 2. 23.
[Spring] 회원 관리 예제 - 백엔드 개발 / 회원 서비스 개발 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 1. service패키지 - MemberService클래스 생성2. 회원 가입 기능 작성 1) validateDuplicateMember 메서드 - 로직 작성 과정 Optional result = memberRepository.findByName(member.getName()); result.ifPresent(m -> { //만약 m(member)에 Null이 아닌 값이 있으면 throw new IllegalAccessException("이미 존재하는 회원입니다."); });˙ Optional에는 편리한 여러 메서드가 존재하므로 Nu.. 2022. 2. 23.
[Spring] 회원 관리 예제 - 백엔드 개발 / 회원 리포지토리 테스트 케이스 작성 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 3. 회원 리포지토리 테스트 케이스 작성 1. 자바의 main 메서드로 실행2. 웹 애플리케이션의 컨트롤러를 통해 해당 기능 실행→ 단점: 준비하고 실행하는 데 오래 걸리고, 반복 실행하기 어려우며 여러 테스트를 한번에 실행하기 어렵다자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. 1) src/test/java - repository 패키지 - MemoryMemberRepositoryTest클래스 생성2) repository 이름으로 MemoryMemberRepository 객체 생성 3) 테스트 할 메서드 앞에 @Test 어노테이션을 붙여 준다    각.. 2022. 2. 23.