본문 바로가기

Spring

(40)
03. 스프링 빈과 의존관계 - (2) 자바 코드로 직접 스프링 빈 등록하기 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다. 1) 코드로 직접 등록하기 전 상태 되돌리기 이번에는 컴포넌트 스캔을 사용하지 않고, 자바 코드로 직접 `Service`와 `Repository`를 Spring Bean에 등록해보도록 하겠습니다. 그러기 위해서는 먼저 기존에 컴포넌트 스캔을 위해 적용했던 어노테이션들을 제거해야 합니다. (1) `MemberService`와 `MemberRepository` 클래스에서 `@Service`, `@Repository` 그리고 `@Autowired` 어노테이션을 제거합니다. (2) 이때, `MemberController`는 어노테이션을 제거하지 ..
03. 스프링 빈과 의존관계 - (1) 컴포넌트 스캔과 자동 의존관계 설정 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다.1) 이전에 구현했던 내용들과 이번에 구현할 내용지금까지는 MemberRepository와 MemberService를 만들었습니다. 이를 통해 다음 로직을 구현하고 테스트 코드를 작성했습니다.멤버 객체 만들기서비스를 통한 멤버 가입리포지토리를 통한 멤버 정보 저장 및 조회이제 이 로직을 웹 페이지에 적용하려고 합니다. 이를 위해서는 회원 가입 결과를 HTML 페이지로 표시해야 하므로, Controller와 View template가 필요합니다. MemberController를 만들어 사용하려고 합니다. MemberController는 Me..
02. 회원 관리 페이지 만들기 - (5) 회원 서비스 테스트 만들기 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다. 1) 테스트 코드의 또 다른 생성 방법 이전에는 Repository 기능을 테스트할 때, test package에 직접 repository package와 class를 생성했었습니다. 하지만 IDE의 기능을 활용하면 쉽게 test class를 생성할 수 있습니다. 생성 방법 1. 테스트하려는 클래스를 선택하면서 `Alt+Enter` 키를 누르고, `Create Test`를 선택합니다. 2. 테스트하려는 메서드를 선택하고 `OK`를 클릭합니다. 이렇게 하면 test package와 class가 자동으로 생성됩니다. 또한 선택한 메서드에는 `..
02. 회원 관리 페이지 만들기 - (4) 회원 서비스 개발 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다. 1) MemberService 클래스 만들기 이번에는 회원 서비스(MemberService) 클래스를 만들어보겠습니다. 회원 서비스는 주로 회원 리포지토리와 도메인을 활용하여 비즈니스 로직을 작성하는 역할을 합니다. ① 먼저 'service' 패키지를 생성하고, 이 패키지 내에 'MemberService' 클래스를 생성해야 합니다. ② 'MemberService' 클래스는 회원 리포지토리를 활용하기 때문에 'MemoryMemberRepository' 객체를 선언해야 합니다. 이를 'final' 키워드를 사용하여 선언하면, 이 객체는 한 번..
02. 회원 관리 페이지 만들기 - (3) 회원 리포지토리 테스트 케이스 작성 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다. 1) JUnit을 이용한 테스트 코드 작성 이번에는 이전에 구현한 기능들이 제대로 작동하는지 확인하기 위한 테스트를 진행하겠습니다. 테스트를 실행하는 방법을 생각해보면, 즉시 두 가지 방법이 떠오릅니다. Java의 main 메서드를 통해 실행 웹 애플리케이션의 컨트롤러를 통해 해당 기능을 실행 하지만 이러한 방법들은 준비하고 실행하는데 시간이 오래 걸리며, 반복적으로 실행하기 어렵다는 단점이 있습니다. Java에서 제공하는 'JUnit' 프레임워크를 이용해 테스트 코드를 작성하면 이러한 단점들을 해결할 수 있습니다. 그럼 지금부터 JUni..
02. 회원 관리 페이지 만들기 - (2) 회원 도메인과 리포지토리 만들기 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다. 1) 회원 도메인 만들기 먼저, 'domain'이라는 패키지를 생성하고 그 안에 'Member' 클래스를 만들어 보겠습니다. 이 클래스는 회원 정보를 저장할 변수들을 선언합니다. public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(Str..
02. 회원 관리 페이지 만들기 - (1) 비지니스 요구사항 정리 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다.1) 프로젝트 진행 단계비즈니스 요구사항 정리가장 기본적인 요구사항 설정데이터: 회원 ID, 이름기능: 회원 등록(중복 이름 불허), 회원 조회DB 미선정 상태에서의 개발 시나리오 가정회원 도메인 & 리포지토리 구축회원 객체와 회원 데이터 저장/조회를 위한 리포지토리 개발리포지토리 테스트 케이스 작성리포지토리 기능의 정상 작동 확인Junit과 test framework 사용회원 서비스 개발실제 비즈니스 로직을 포함한 서비스 레이어 개발회원 서비스 테스트개발된 서비스의 기능 검증2) 비지니스 요구사항 정리(1) 데이터 요구사항:회원 ID회원..
01. 스프링 웹 개발 기초 - 동작 방식 3가지 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다.들어가며(1) 웹 개발이란? 사용자들에게 정보와 서비스를 제공하기 위해 웹의 공간을 설계하고 제작하는 전체의 과정을 의미합니다. 이렇게 제작된 웹을 통해 사용자들은 다양한 서비스를 이용하고, 다른 사용자들과 상호작용을 할 수 있습니다. (2) 웹 개발을 잘하려면 어떤 것들을 공부해야 할까요?  우선 웹 개발을 하려면 다양한 언어들이 필요합니다. 프론트엔드에는 HTML, CSS, JavaScript 등이 있고, 백엔드에서는 Java, Python, PHP 등이 있으며, 데이터베이스 관리 시스템도 필요합니다. 그렇다면 웹 개발을 잘하려면 이 ..