본문 바로가기

spring16

[스프링 MVC 1편] 2 - (2) 서블릿 생성 * 스프링 입문은 Window로 스프링 MVC 1편은 Mac으로 진행합니다 * : 자바 클래스명, : 코드, : 단축키 1. Servlet의 동작원리 SpringBoot 실행 ↓ 내장된 Tomcat 서버(WAS) 실행 ↓ ServletComponentScan 동작 ↓ Servlet Container에 Servlet객체 등록 ↓ 클라이언트의 HTTP Request 요청 ↓ WAS에서 이를 HttpServletRequest 객체로 만들어 Servlet객체에게 전달 ↓ Servlet 객체는 Service() 메서드 호출, 비즈니스 로직을 수행 ↓ 수행한 로직의 결과물 HttpServletResponse의 객체에 담아 클라이언트에 전달 2 - (1). Servlet 등록 [ src - main - java - .. 2023. 10. 21.
[스프링 MVC 1편] 2 - (1) 프로젝트 생성 * 스프링 입문은 Window로 스프링 MVC 1편은 Mac으로 진행합니다 1. Open JDK11 설치 Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he jdk.java.net 아래 블로그를 참고해주세요 http.. 2023. 10. 18.
[스프링 MVC 1편] 1 - (3) 멀티스레드 1. Web Service Architecture 훑어보기 Web Server : HTTP 요청 Web Container에게 위임 * web.xml -> 어떤 URL과 Mapping되어 있는지 확인 * Client(browser)의 요청 URL을 보고 해당 Servlet을 실행(Thread 생성) (web.xml에는 어떤 내용들이 구성되어 있는가?) Web Container : service() 메소드 호출 전 Servlet 객체 메모리 적재 * Web Container는 적당한 Servlet 찾고 컴파일(.class 파일) * 컴파일(.class)된 파일을 메모리에 적재 (Servlet 객체 생성) * 메모리 적재 시, init() 메소드 실행 Web Container : 요청이 올 때마다 Thread.. 2023. 10. 18.
[스프링 입문] 5 - (3) 조회 [회원 웹 기능] 1. MemberController 수정 ( /member/new 페이지 만들기 ) src - main - java - hello.hellospring - MemberController 클릭 → 강의자료 코드 붙여넣기 ☞ @GetMapping("/members") : localhost:8080/members 일 때 아래 메서드 호출 ☞ List members = memberService.findMemvers : 저장된 memberService 회원 list로 반환 ☞ model.addAttribute() : Model 객체 파라미터로 받아 데이터 넘기기 (변수 이름, 변수에 넣을 데이터 값); ☞ return "members/memberList" : members - memberList.. 2023. 8. 6.
[스프링 입문] 5 - (2) 회원 등록 [회원 웹 기능] 1. MemberController 수정 ( /member/new 페이지 만들기 ) src - main - java - hello.hellospring - MemberController 클릭 → 강의자료 코드 붙여넣기 ☞ @GetMapping("/members/new") : localhost:8080/members/new 일 때 아래 메서드 호출 ☞ return "members/createMemberForm" : members - createMemberForm.html 호출 2. createMemberForm.html 만들기 src - main - resource - templates 우클릭 → New - Directory 클릭 → members 입력 후 우클릭 → New - HTML .. 2023. 8. 6.
[스프링 입문] 5 - (1) 홈 화면 추가 [회원 웹 기능] 1. HomeController 클래스 만들기 src - main - java - hello.hellospring - controller 우클릭 → New - Java Class 클릭 → HomeController 입력 → 강의자료 코드 붙여넣기 ☞ @Controller : controller 사용시 무조건 해주기 ☞ @GetMapping("/") : localhost:8080/ 때 아래 메서드 호출 ☞ return "home" : home.html 호출 2. home.html 만들기 src - main - resource - templates 우클릭 → New - HTML File 클릭 → home.html 입력 → 강의자료 코드 넣기 ☞ : 문서정보 ☞ ~ : 출력되는 부분 ☞ ~ .. 2023. 8. 5.
[스프링 입문] 4 - (2) 자바 코드로 직접 스프링 빈 등록하기 [자바 코드로 직접 스프링 빈 등록하기] 1.이전의 컴포넌트 스캔 설정 삭제 - MemberController 클래스 제외한 나머지만 삭제 - MemberService 클래스에서 @Service, @Autowired 삭제 - MemoryMemberRepository 클래스에서 @Repository 삭제 2.직접 코드짜기 src - main - java - hello.hellospring - service 우클릭 → New - Java Class → SpringConfig 입력 → 강의자료 코드 붙여넣기 ☞ @Congifuration : 스프링 빈에 등록하라는 명령을 인식 ☞ @Bean : 아래의 코드를 빈에 등록 ☞ public MemberService memberService() : memberServ.. 2023. 8. 5.
[스프링 입문] 4 - (1) 컴포넌트 스캔과 자동 의존관계 설정 [컴포넌트 스캔과 자동 의존관계 설정] - 컴포넌트 스캔 방식 : @로 시작하는 것들 (눌러서 확인해보면 Component라고 적혀있음) (컴포넌트 스캔은 스프링 빈이 자동으로 등록된다) : 컴포넌트를 사용할 때엔 같은 패키지 안에서끼리 사용이 가능하다 - membercontroller가 memberservice, memberRepository를 조작 할 수 있게 의존관계를 설정 - 스프링 빈을 등록하는 방법 2가지 : 컴포넌트 스캔, 의존관계 설정 : 자바 코드로 직접 등록 (이게 더 편리) ** 스프링 빈은 각 클래스 마다 하나씩 등록하도록 해서 서로 공유하도록 한다 (=싱글톤 등록) ** 1. @Controller, @Autowired src - main - java - hello.hellospri.. 2023. 8. 5.
[스프링 입문] 3 - (4) 회원 서비스 개발, (5) 회원 서비스 테스트 [회원 서비스 개발] 1. 회원 가입 만들기 src - main - java - hello.hellospring 우클릭 → New - Package 클릭 → service 입력 후 우클릭 → New - Java Class → MemberService 입력 → 강의자료 코드 붙여넣기 ☞ validateDuplicateMember : 중복회원을 검사하는 메서드 Ctrl + Alt + T 단축키 입력 후 method 라고 검색 Extract Method 클릭하고 Name 설정 ☞ .ifPresent(m -> : m 안에 값이 있다면 아래 로직이 동작한다. ☞ throw new IllegalStateException : 객체의 상태가 매소드 호출에는 부적절한 경우 즉 예외적인 경우의 호출 ☞ return mem.. 2023. 8. 4.
[스프링 입문] 3 - (3) 회원 리포지토리 테스트 케이스 [회원 리포지토리 테스트 케이스 작성] 1. findById 테스트 src - test - java - hello.hellospring 우클릭 → New - Package 클릭 → repository 입력 후 우클릭 → New - Java Class → Test 입력 → 강의자료 코드 붙여넣기 ☞ Member member = new member : main 메서드와 비슷 member.setName(''spring") ☞ repository.save(member) : 리포지토리에 member 저장 ☞ Member result = repository.findById(member.getId()).get() : 반환타입 Optional. 즉 꺼낼 때 get 이용 (단축키 Ctrl + Alt + V 사용) 내가 .. 2023. 8. 2.