본문 바로가기

Back-End169

[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.
[Java] 지네릭스, 열거형, 애너테이션 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다.  지네릭스 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화 해 둔다컴파일 시 타입 체크타입의 안정성을 제공하고, 형변환을 생략할 수 있으므로(무조건 명시한 타입일 테니까) 코드가 간결해짐클래스 변수(static)에는 타입 매개변수 사용 불가 : 공간을 공유하는 특성에 모순이 된다ArrayList foodList = new ArrayList();foodList.add(new Food());// foodList.add(new Animal()); // ErrorArraylist list = new Arraylist();list.add(10); // Integerlist.add("20"); // StringIntege.. 2022. 2. 21.
컬렉션 프레임웍 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 인터페이스 인터페이스 특징 Collection List 순서 유지 O, 중복 O 구현 클래스: ArrayList, LinkedList, Stack, Vector Set 순서 유지 X, 중복 X HashSet, TreeSet Map 키와 값의 쌍으로 이루어진 데이터 집합 순서 유지 X, 키: 중복 X, 값: 중복 O HashMap, TreeMap, Hagtabel, Poperties ※ Collection: 인터페이스, Collections: 클래스 ArrayList Object 배열을 이용해서 데이터를 순차적 저장 공간이 없으면 새로운 배열을 생성해서 복사한 후 저장 객체를 인덱스로 관리 반복문을 통해 요소 삭제 시, 빈 공간을 채우기.. 2021. 12. 30.