[Java/스프링 입문] 스프링 빈과 의존관계 - 컴포넌트 스캔과 자동 의존관계 설정(@Controller, @Service, @Repository, @Autowired), 자바 코드로 직접 스프링 빈 등록하기 (@Configuration, @Bean)
들어가며스프링 빈을 등록하는 2가지 방법🫘 컴포넌트 스캔과 자동 의존관계 설정🫛 자바 코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔과 자동 의존관계 설정 (@Controller, @Service, @Repository, @Autowired)1) @Controller, @Service, @Repository의존 관계앞서 만든 서비스에 화면을 붙이기 위해선 Controller와 View가 필요합니다.MemberController는 MemberService를 통해서 회원가입, 조회할 수 있어야 합니다.=> 이러한 관계를 MemberController가 MemberService를 의존한다고 표현합니다. 컴포넌트 스캔@Component: @Component 어노테이션이 있으면 스프링 빈으로 자동 등록됩..
[Java/스프링 입문] 스프링 웹 개발 기초 - 회원 관리 예제 (비즈니스 요구사항 정리, 회원 도메인과 리포지토리 만들기, 회원 리포지토리 테스트 케이스 작성, 회원 서비스 개발, 회원 서비스 테스트 (JUnit 테스트 프레임워크))
회원 관리 예제 - 백엔드개발📋 비즈니스 요구사항 정리🏗️ 회원 도메인과 리포지토리 만들기🧪 회원 리포지토리 테스트 케이스 작성💻 회원 서비스 개발✅ 회원 서비스 테스트 (JUnit 테스트 프레임워크) 1. 비즈니스 요구사항 정리데이터: 회원 ID, 이름기능: 회원 등록, 조회가상의 시나리오: 아직 데이터 저장소가 선정되지 않음 컨트롤러: 웹 MVC의 컨트롤러 역할서비스: 핵심 비즈니스 로직 구현리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래스 의존관계아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계회원저장소: MemberRepo..
[알고리즘/구현] 시뮬레이션, 완전탐색, 구현 - 개념, 행렬(Matrix), 문제(상하좌우, 시각, 왕실의 나이트, 문자열 재정렬)
💡 시뮬레이션, 완전탐색, 구현 프로그래밍의 범위가 잘 벗어나지 않게 나오는 문제가 대부분(1,000만회~1억회 미만)구현이란?개념 정리머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 ⇒ 연습만이 살길이다…!예시알고리즘은 간단한데… 코드가 지나치게 길어지는 문제실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제적절한 라이브러리를 찾아서 사용해야 하는 문제 행렬(Matrix)행렬: 2차원 데이터를 일종의 표와 같은 형태로 쉽게 나타내는 수학 개념2차원 배열 = Python 2차원 List특정한 캐릭터나 사물이 특정 위치에 존재했다가, 상하좌우로 이동할 수 있다⇒ 방향 벡터 문제로 풀..