스프링18 [Spring] inflearn 스프링 입문 - 회원 관리 예제 - 웹 MVC 개발 회원 웹 기능 - 홈 화면 추가 memberController를 통해 회원 등록, 조회 홈 컨트롤러 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 아무것도 없으면 static/index.html로 감(welcome page) 그러나 우선순위 있음 웹 브라우저에서 요청이 오면 먼저 스프링 컨테이너 안에 관련 컨.. 2022. 9. 13. [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. [Spring] inflearn 스프링 입문 - 스프링 웹 개발 기초 3 API Controller @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name) { return "hello " + name; // "hello spring" } @ResponseBody http body부에 data ("hello " + name) 직접 넣어주겠다. 요청한 문자가 클라이언트에 그대로 전달. 템플릿엔진과의 차이 : view 필요 없음 http://localhost:8080/hello-string?name=spring 소스 보기 하면 html 태그 없이 문자열만 보여진다. @ResponseBody 객체를 리턴 (API 방식) 객체 반환, @ResponseBody.. 2022. 9. 7. 이전 1 2 3 다음