WINK-(Web & App)/Spring Boot 스터디 (104) 썸네일형 리스트형 [Spring Boot 스터디] 류건 #3 주차 - 섹션 4, 5 스프링 빈을 등록하고, 의존관계 설정하기 회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자. 회원 컨트롤러에 의존 관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; // 스프링 컨테이너에 객체가 자동 생성되어 관리됨. @Controller public class MemberController { private final MemberService memberSer.. [Spring Boot 스터디] 한준교 #3 주차 - 섹션 4, 5 Section 4. 스프링 빈과 의존관계 서비스를 통해 리포지토리에 회원을 저장할 수 있게 되었음! 이제 화면을 붙이고 싶은데 → 컨트롤러와 뷰템플릿이 필요함!! MemberController 가 서비스를 통해서 회원가입과 조회를 할 수 있어야함!! → 이런 것을 의존관계 라고 한다. MemberController 를 생성한다! package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller pu.. [Spring Boot 스터디] 이지원 #3 주차 - 섹션 4, 5 컴포넌트 스캔과 자동 의존관계 설정 서비스를 구축하다 보면 동일한 객체 인스턴스를 프로젝트 전역에 걸쳐 공유해야할 경우가 많다. 이 경우 하나의 인스턴스를 생성한 후 어딘가에 저장해두고 다른 코드에서 그 경로를 찾아 import하는 번거로운 작업이 요구된다. Spring에서는 이러한 의존관계를 자동으로 설정해준다. @Controller @Repository @Service 등의 방법을 통해 해당 클래스를 하나의 객체 인스턴스만 생성하고 프로젝트 전역에 걸쳐 자동으로 공유되도록 구현할 수 있다. Spring 어플리케이션이 시작되면 초기 단계에서 어플리케이션이 자동으로 어플리케이션의 위치를 기준으로 모든 하위 디렉토리를 스캔하여 이런 annotation이 붙은 클래스들을 찾는다. 이후 찾은 클래스들의 인스턴.. [Spring Boot 스터디] 조현상 #3 주차 - 섹션 4,5 이번 주차에는 스프링 빈과 의존 관계 와 회원관리예제를 통해서 웹MVC 개발를 배워보았다. 우선 스프링 빈 의존 관계란 controller - service - repository 를 서로 연결 시켜주는 것을 말하는데 그동안 우리는 예를 들어 service 와 repository 를 연결시키려면 new 객체를 생성해줘서 연결 시켜보이도록 기능을 만들었었다. 근데 new 로 객체를 생성해서 만들어질 경우 서로 다른 repository를 받을 수 있고? 와 같은 문제가 있었는데 이번 시간에 이 문제를 해결하고자 하나의 repository를 가르키도록 의존관계를 배웠다. 우선 의존 관계는 컴포넌트 스캔으로 자동 의존관계 설정 방법이 있고 자바 코드로 직접 스프링 빈 등록하는 방법이 있다. 먼저 컴포넌트 스캔 .. [Spring Boot 스터디] 류건 #2주차 - 섹션 3 "횐님 관리 예제" 비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음, 따라서 인터페이스 구현 후, 이를 상속받는 구현체를 생성. - 데이터 저장소가 선정되지 않았으므로 인터페이스로 구현 클래스를 변경 가능하도록 설계 - 컨트롤러: 웹 MVC의 컨트롤러 역할 - 서비스: 핵심 비즈니스 로직 구현 - 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체 # 회원 도메인과 레포지토리 만들기 ```MemoryMemberRepository package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.*; publ.. [Spring Boot 스터디] 이정욱 #2 주차 - 섹션3 [회원 관리 예제 - 백엔드 개발] **비즈니스 요구사항 정리:** - 데이터: 회원ID, 이름 - 기능: 회원 등록, 조회 - 데이터 저장소가 아직 선정되지 않았으며, 인터페이스로 구현 클래스를 변경할 수 있도록 설계 - 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고려 중인 상황으로 가정 - 개발을 위해 초기 개발 단계에서는 가벼운 메모리 기반의 데이터 저장소를 사용 **클래스 의존관계:** - 데이터 저장소가 선정되지 않았으므로 인터페이스로 구현 클래스를 변경 가능하도록 설계 - 컨트롤러: 웹 MVC의 컨트롤러 역할 - 서비스: 핵심 비즈니스 로직 구현 - 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등.. [Spring Boot 스터디] 한준교 #2 주차 - 섹션3 🏃 비즈니스 요구사항 정리 강의 목표가 실제 비즈니스가 아니라 스프링의 전반적인 흐름을 이해하는 것이기 때문에! → 회원ID 와 이름 만 데이터로 사용한다! → 기능은 회원 등록과 조회!! → 가상의 시나리오로 아직 데이터 저장소(DB) 가 선정되지 않음!! (기능을 파악하고 DB를 선정해보자..) 일반적인 웹 애플리케이션 계층 구조는 → 컨트롤러 : 웹 MVC의 컨트롤러 역할 → 서비스 : 핵심 비즈니스 로직 구현 ex. 중복 가입이 안되는 로직 등등 비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직을 구현하는 계층이다. → 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 → 도메인 : 비즈니스 도메인 객체 ex. 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래.. [Spring Boot 스터디] 이지원 #2 주차 - 섹션 3 회원 domain / repository / service 구축하기 Domain 일종의 객체 모델링이라 볼 수 있을 것 같다. Repository 서비스 구축을 위해 보통 DB(데이터베이스)가 필요하지만 설계 및 개발 과정에서 DB가 준비되지 않았거나 결정되지 않았을 경우가 있다. 이를 위해 메모리를 사용하는 가상의 데이터베이스를 만들고 추후 DB와의 호환을 위해 미리 Interface를 정의하고 설계한다. Service 실제 서비스에 사용되는 비즈니스 로직이 포함된다. 예를 들어 회원가입 시 중복 아이디의 생성을 방지하거나 특정 시간동안 작성할 수 있는 게시글을 제한하는 등의 작업이 포함된다. Domain 생성 먼저 Member 도메인을 생성한다. package hello.hellospring.doma.. 이전 1 ··· 9 10 11 12 13 다음