본문 바로가기

Spring41

[스프링 입문] 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.
[스프링 입문] 3 - (1) 비즈니스 요구사항, (2) 회원 도메인과 리포지토리 [비지니스 요구사항] - 데이터: 회원 ID, 이름 - 기능: 회원 등록, 조회 ▶ 웹 애플리케이션 계층 구조 컨트롤러 웹 MVC의 컨트롤러 서비스 도메인을 이용해 핵심 비즈니스 로직 동작하도록 구현 도메인 비즈니스 도메인 리포지토리 도메인 객체를 DB에 저장하고 관리 [회원 도메인과 리포지토리 만들기] 1. 회원 domain 만들기 src - main - java - hello.hellospring 우클릭 → New - Package 클릭 → domain 입력 → domain 우클릭 → New - Java Class → Member 입력 → 강의자료 코드 붙여넣기 ☞ private Long id : 클래스 안에서 찾기 ☞ private String name : 클래스 안에서 찾기 ☞ Long getId.. 2023. 8. 1.
[스프링 입문] 2 - (3) API [API] - MVC와 달리 View가 필요없다 1. HelloController 수정 (문자용) - 문자를 출력하는 방법 (잘 사용하지 X) src - main - java - hello.hellospring - controller - HelloController 클릭 → 강의자료 코드 붙여넣기 ☞ @GetMapping("hello-string") : localhost:8080/hello-string 일 때 아래 메서드 호출 ☞ @ResponseBody : http에서 헤더부와 바디부가 나눠져 있는데 바디부에 데이터를 직접 넣겠다는 의미 ☞ @RequestParam("name") : RequestParam("실제 값") String 설정할 변수 이름 ☞ return "hello" + name : hel.. 2023. 7. 31.
[스프링 입문] 2 - (1) 정적 컨텐츠, (2) MVC와 템플릿 엔진 [정적 컨텐츠] - 파일을 웹브라우저에 그대로 전달한다 src - main - resources - static 우클릭 → New - File 클릭 → hello-static.html 입력 → 강의 자료 코드 넣기 → run → 인터넷에 localhost:8080/hello-static.html 입력 ※ 과정 localhost:8080/hello-static.html 실행 ↓ 내장 톰켓 서버 입력 받음 ↓ Controller에서 hello-static 있는지 찾는다 ↓ 없으면 내부 resources에서 hello-static 찾는다 ↓ 찾았으면 웹 화면에 출력 [MVC와 템플릿 엔진] - 서버에서 프로그래밍해서 html을 동적으로 바꿔 출력 ( View = 화면그리기 , Controller = 비지니스 .. 2023. 7. 29.
[스프링 입문] 1 - (4) 빌드하고 실행하기 [빌드하기] : IntelliJ RUN 중지 후 cmd 창 이동 : cd 스프링 프로젝트 저장된 경로 입력 : gradlew build 입력 (dir 입력해서 디텍토리 안에 빌드된 것 확인 가능) ex) 스프링 프로젝트 저장경로 ▶ C:\Astudy\hello-spring 이라면 cmd 창 ▶ cd C:\ → cd Astudy\hello-spring 입력 여기서 문제점!! 아래와 같은 오류발생 "Please set the JAVA_HOME variable in your environment to match the location of your Java installation." : 이전에 진행하던 프로젝트 때문에 자바 8 버전이 함께 다운로드 되어져 있다 아마도 이게 문제인 듯 하다 다운받은 자바 폴더에.. 2023. 7. 28.
[스프링 입문] 1 - (3) View 환경설정 ※ 1 - (2) 라이브러리 살펴보기 게시글이 없고 1 - (3) View 환경설정으로 넘어간 이유 2번 라이브러리 강의는 들어도 입문자는 잘 몰라요 강사님도 한번 훑어보란 식으로 말씀하셔서 따로 글로 기록하지는 않고 직접 강의 보시고 그렇구나 하고 넘기시면 될 것 같아요 [View 환경설정] 1. localhost:8080 에러 확인 인텔리에 있는 스프링 프로젝트 파일 실행 (아래 노란선에 있는 run 버튼 클릭) → 하단에 뜬 port 확인 → 인터넷 창에 localhost:8080 검색하기 → 에러페이지 확인 2. localhost:8080 에러 해결 src - main - resources - static 우클릭 → New - File 클릭 → index.html 입력 → 강의 자료 코드 넣기 →.. 2023. 7. 24.