일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring #Java #Spring Boot #싱글톤
- 카카오 클라우드 스쿨
- Spring #Spring Boot #Java
- SpringTokenizer
- 파이썬
- kakaocloud
- java
- python
- Java #코딩테스트
- node
- 11053
- 9020
- Java #오븐시계 #백준
- 알고리즘
- 코딩테스트
- 24479
- Spring #Java #Spring Boot
- boj
- Java #백준 #코딩테스트
- 2447
- 백준
- 카카오클라우드스쿨
- 11054
- 15552
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
- sequelize
- kakaocloudschool
- 1110
- Spring
- 7568
- Today
- Total
목록BE/Spring (28)
YoungSoo

스프링 컨테이너가 관리하는 자바 객체를 빈이라고 한다. 여기서 말하는 자바 객체는 new를 통해 생성하는 객체가 아닌 컨테이너에서 스스로 생성하는 객체이다. 컨테이너를 통해 객체를 여러번 생성할 필요가 없고, 공용으로 사용할 수 있다. 스프링 빈을 컨테이너에 등록하는 방법으로는 두 가지 방법이 있다. 오늘 알아볼 방법은 컴포넌트 스캔과 자동 의존관계 설정이다. MemberController 먼저 MemberController를 만들어준다. Controller에서 Service를 사용하기 위해 new로 생성해서 사용해줄 수 있지만 여기 뿐만 아니라 다른 곳에서도 Service를 사용할 수 있는데 여러 개의 인스턴스를 생성할 필요가 없고, 하나만 생성해서 공용으로 사용해 좀 더 효율적으로 만들어준다. 공용으..

전 시간에 만든 회원 서비스를 테스트 해볼 예정이다. 전 테스트 시간에는 직접 test폴더에 패키지와 Test파일을 만들어 진행하였는데 더 좋은 방법이 있다. Test 파일 생성 Ctrl + Shift + T 단축키를 이용해 자동으로 만들 수 있고 맨 밑에 체크만 해주면 된다. Test 이렇게 자동으로 만들어준다. MemberServiceTest 테스트 할 때 메소드 이름은 한글로 해도 상관이 없다. Given = 값이 주어졌을때, When = 실행되었을때, Then = 나와야하는 결과테스트는 보통 3가지 순서대로 주어지는데 그게 바로 Given, When, Then이고 그렇기에 이렇게 나누어서만들어주면 좋다. 회원가입 테스트 코드를 만들었는데 이것은 너무 단순한 동작이고 테스트는 정상적인 동작도 중요하..

회원 서비스를 만들기 위해 main에 service 패키지를 하나 생성해주고 MemberService를 만들어준다. MemberService 회원 리포지토리가 필요해 memberRepository를 생성해준다. 회원가입을 위한 join 메소드를 만들고 임의의 ID를 반환하도록 했고 같은 이름 중복 방지를 위해 Null 값이 아니라 값이 존재하고 그 값이 중복된다면 '이미 존재하는 회원입니다.'가 나오도록 했다. 여기서 ifPresent는 값이 존재하면 동작한다. 코드의 간결화 Optional을 지우면 반환 값은 Optional이고 그렇기에 뒤에 .ifPresent를 바로 붙일 수 있다. 단축키 Ctrl + Alt + V를 하면 Optional을 자동으로 생성해준다. Ctrl + Alt + M을 눌러 메소..

개발한 기능을 실행해서 테스트할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. JUnit을 이용해 테스트를 한다. Test에서 repository라는 패키지를 새롭게 만들어주고 그 안에 테스트할 클래스에 Test를 붙여 만들어주는 것이 관례라고 한다. Test Save 먼저 save를 테스트를 하는데 @Test라는 어노테이션을 달아준다. member 객체를 만들어 spring이라는 이름을 저장해주고 result에서 값을 꺼내와 두 값이 같은지 비..

도메인 및 리포지토리 생성 domain과 repository 패키지를 생성해주고 domain에는 값을 담을 Member클래스를 만들어주고 repository에서는 회원을 저장하고 찾고 여러가지 작업을 할 인터페이스와 그것을 구현하는 내용이 담긴MemoryMemberRepository를 만들어준다. Member Long 타입의 id와 String 타입의 name 두 가지를 만들어 주었다. 여기서 id는 DB에 저장할 때 사용하는 단순 시퀀스로 정하는 임의의 값이고 고객이 가입할 때 직접 입력하는 것이 아니고 자동으로 설정하여 데이터를 구분하는데 사용할 예정이다. 그리고 name은 이름이고 이것들을 사용하기 위해 Getter와 Setter를 만들어주었다. MemberRepository(인터페이스) 네가지의 ..

컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체(예 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨) 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계할 예정이다. 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정한다. 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용할 예정이다. 해당 글은 김영한 님의 인프런 강의를 보고 정리한 글 입니다. 출저 - https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%..

Controller 추가 @ResponseBody를 사용하면 뷰 리졸버를 사용하지 않고 대신에 HTTP의 BODY에 문자 내용을 직접 반환(HTML BODY TAG를 말하는 것이 아니다.) 실행결과 페이지 소스보기 그대로 페이지에 들어가는 것을 확인할 수 있다. 꿀팁 - Intellij에서는 Ctrl + Shift + Enter을 입력하면 자동완성을 시켜준다, Getter/Setter 및 생성자를 생성하는 단축키는 Alt + Insert이다.(검색해보면 Ctrl + N이라고 나와있는데 이상하게 이 노트북은 다르다.) Controller 추가 위와 같이 객체를 반환해주게 되면 Json형식으로 반환하게 된다. 과거에는 XML형식이 많이 쓰였는데 최근에는 Json 방식을 많이 사용한다. 실행결과 @Respon..

MVC : Model, View, Controller View는 화면을 그리는데 모든 역량을 집중해야 하지만 hello-template.html 생성 Controller는 비즈니스 로직이나 관리하거나 내부적인 것을 처리하는데 집중해야 한다. Controller 추가 C:\Users\lovep\OneDrive\바탕 화면\hello-spring\src\main\resources\templates\hello-template.html 파일의 경로를 복사해 검색창에 넣어주면 현재 파일을 열어준다. 소스코드 보기를 누른다. 소스코드 thymeleaf의 장점은 서버를 실행하지 않고 열어봐도 파일의 껍데기를 볼 수 있다. 실행결과 서버를 그냥 실행하게 되면 오류가 나는데 그 이유는 name의 값이 없기 때문이다. na..