본문 바로가기

Spring_inflearn/입문20

[Spring] inflearn 스프링 입문 - 스프링 빈과 의존관계 2 자바 코드로 직접 스프링 빈 등록하기 MemberService @Service, @Autowired 지우기 MemoryMemberRepository @Repository 삭제 실행 -> MemberService가 스프링 빈에 등록 안되어 있음. => 오류 컴포넌트 스캔 아닌 직접 등록하는 방법 SpringConfig 파일 만들기 hello-spring/src/main/java/hello/hellospring/SpringConfig.java package hello.hellospring; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframew.. 2022. 9. 13.
[Spring] inflearn 스프링 입문 - 스프링 빈과 의존관계 1 컴포넌트 스캔과 자동 의존관계 설정 회원가입, 회원가입결과 html에 보여주기 오류 => MemberService를 찾을 수 없다. MemberService : 순수한 자바 class. 스프링이 알 수 있는 방법이 없음. @Service 넣어줌. 스프링이 컨테이너에 MemberService를 등록해줌 MemoryMemberRepository : @Repository. controller 통해서 외부 요청받고 service에서 비지니스 로직 만들고 repository에서 데이터 저장. 정형화된 패턴. 스프링이 뜰 때 controller, service, repository 가지고 옴 controller와 service 연결 : @Autowired MemberController 생성 될 때 스프링 빈에 등록.. 2022. 9. 12.
[Spring] inflearn 스프링 입문 - 회원 관리 예제 - 백엔드 개발 2 회원 서비스 개발 회원 서비스 : 회원 리포지토리, 도메인을 활용해 비지니스 로직 작성 * 회원 가입 기존 : if != null 과 같이 사용 Optional 사용하면 Optional 안에 member 객체가 있음. Optional 통해 여러 메소드 사용 null 가능성 있으면 Optional로 감싸서 반환. result.get()과 같이 바로 꺼내는 것 권장하지 않음 Optional result = memberRepository.findByName(member.getName()); 과 같이 Optional 을 바로 반환하는 것 좋지 않음 memberRepository.findByName(member.getName())의 결과가 Optional이므로 바로 메소드 쓰는 것 권장 메소드 따로 빼기 extr.. 2022. 9. 9.
[Spring] inflearn 스프링 입문 - 회원 관리 예제 - 백엔드 개발 1 비지니스 요구사항 정리 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 회원 리포지토리 테스트 케이스 작성 도메인 - Member 클래스 package hello.hellospring.domain; 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 nam.. 2022. 9. 9.