일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 싱글톤패턴
- Spring MVC 구성요소
- MySQL
- 클라우드에서 도커 실행하기
- 코드스테이츠
- String.valueOf()
- GCP
- 투포인터알고리즘
- List.of
- 코드스테이츠 백엔드
- 스택
- 버블정렬
- 코딩테스트
- 11659
- 재귀와반복문
- vm인스턴스생성
- OOP
- 구간합구하기
- Spring Web MVC
- Array.asList
- 백준
- 인텔리제이
- java
- 백준 11659
- 재귀함수
- 프로그래머스
- 자바
- Spring MVC 동작원리
- 알고리즘
- 성능테스트툴
- Today
- Total
목록Development/Spring (14)
순간을 기록으로
상황 엔티티를 만들면 공통적으로 들어가는 속성이 있다. 생성일(creatAt)과 수정일(modifiedAt)이다. 매번 엔티티를 생성할 때마다 위 두 속성을 작성해주기 보다는 공통적으로 처리해주면 훨씬 편할 것이다. BaseEntity.java @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class BaseEntity { @Column(updatable = false) @CreatedDate private LocalDateTime createdAt; @LastModifiedDate private LocalDateTime modifiedAt; } @CreatedDate Entity가 생성되어 ..
상황 이전 프리 프로젝트에서 API를 검증할 때 포스트맨을 이용하여 수동으로 하나하나 검증을 했다. 수동으로 검증하려니 시간을 많이 잡아먹고 정확성도 떨어지는 문제점이 있었다. 그래서 이번에는 테스트 코드를 작성하여 API를 자동으로 검증해보자. 아래의 예시는 테스트 코드를 작성하여 어떻게 API 테스트를 자동 검증하는지를 보여준다. 이번 예시에서는 http://localhost:8080/hello/dto?name=hello&amount=1000으로 GET 요청을 보냈을 때 다음과 같이 JSON으로 응답이 와야 한다. HelloResponseDto import lombok.Getter; import lombok.RequiredArgsConstructor; @Getter @RequiredArgsConstr..
상황 컨트롤러를 테스트하는 상황에서 어떤 경우에는 @SpringBootTest를 사용하고, 또 어떤 경우에는 @WebMvcTest를 사용하는 코드를 봤다. 어떤 기준으로 선택하는 건지 몰라 정리하게 되었다. @SpringBootTest + @AutoConfigureMockMvc 특징 프로젝트 안의 모든 빈을 등록하여 테스트를 한다 단위 테스트와 같이 기능을 테스트할 때보다는 통합 테스트를 할 때 사용한다. 장점 서버를 띄우고 모든 빈을 등록하기 때문에 다양한 테스트 중에서 가장 운영환경과 유사한 테스트다. 단점 모든 빈을 등록하기 때문에 단위 테스트보다 시간이 더 걸린다. @AutoConfigureMockMvc는 Mock 테스트를 해야 될 경우에 추가한다. @SpringBootTest @AutoConfi..
상황 스프링 부트의 설정파일인 .properties .yml을 변환해야 하는 상황 해결방법 찾아보니 properties와 yml을 변환해주는 사이트가 있었다. 사이트 기능을 이용하면 쉽게 변환하여 사용할 수 있다. http://mageddo.com/tools/yaml-converter 사이트에 들어가서 properties 또는 yml 내용을 넣어준 후 변환을 누른다. 주의할 점은 주석이 삭제된다는 점이다!
안녕하세요. 루미너스입니다. 오늘은 Spring MVC 동작 방식과 구성요소에 대해 배워보겠습니다. 개요 우선 간단히 Spring MVC에 대해 알아보겠습니다. Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크(모듈, 프로젝트)입니다. 전체 이름은 Spring Web MVC이지만 일반적으로 Spring MVC라고 불립니다. Spring MVC는 서블릿 기반으로 동작합니다. 위키백과에 보면 서블릿(Servlet)이란 웹페이지를 동적으로 생성하는 서버측 프로그램을 말합니다. 더 구체적으로 말하자면 서블릿은 웹서버의 성능향상을 위해 사용되는 자바 클래스의 일종입니다. 서블릿은 JSP와 유사합니다. 하지만 차이가 있습니다. 서블릿은 자바코드 안에 HTML을 포함합니다. 반면에 JSP는 HT..
Jar(Java Archive)는 여러개의 자바클래스 파일과 메타데이터, 리소스(텍스트, 이미지 등)를 하나의 파일로 모아서 배포하기 위한 패키지 파일이다. 간단히 생각해서 압축 파일이라고 생각해도 된다. 파일 확장자는 .jar이다. 인텔리제이 안에서 실행하는게 아닌 콘솔에서 내가 만든 프로그램을 실행하려면 어떻게 해야할까? jar 파일을 실행하려면 'java -jar 파일명.jar'을 사용하면 된다. 만약 aws에 내가 만든 프로그램을 올리고 싶다면 jar 한 파일만 서버에 올려두고 실행하면 된다.(참고로 jar 명령어는 JDK에 포함되어 있다.) 빌드하고 실행하기 1. 콘솔에서 해당 프로젝트 루트위치로 이동한다. 그리고 jar파일과 비슷한 파일 형식 war이란 것도 있다. War 파일 형식은 클래스파..
1.HomeController 만들기 @GetMapping을 이용해 'localhost:8080'이 입력되면 연산없이 home.html로 가도록 만든다. 2.home.html 만들기 실행결과 회원 가입 버튼을 누르면 localhost:8080/members/new로 이동한다 회원 목록 버튼을 누르면 localhost:8080/members로 이동한다. 참고 스프링은 url을 받으면 첫번째로 맵핑되는 컨트롤러가 있는지 찾는다. 연관된 컨트롤러가 있으면 관련 html로 이동한다. 만약 없다면 resource/static 폴더에서 맵핑되는 html파일을 찾는다.
~Application.java가 있는 위치에 SpringConfig 클래스 생성을 합니다. @Bean은 스프링 빈 등록을 직접하겠다는 의미이다. @Configuration은 설정파일임을 알려준다. 멤버 서비스와 멤버 레포지토리를 직접 등록한다. 컨트롤러는 스프링이 자동으로 관리하기 때문에 컴포턴트 스캔 방식으로 놔둔다. 서비스의 경우 객체 생성할 때 생성자 인자로 밑에 함수를 넣어 연결을 해준다. 참고1 의존성 주입에는 1.필드 주입, 2.setter 주입, 3.생성자 주입이 있다. 거의 대부분 생성자 주입을 실무에서 사용 중이다. setter주입의 경우 변경될 가능성이 있어 안정성이 떨어지는 단점이 있다. 참고2 정형화된 컨트롤러, 서비스, 레포지토리의 경우 컴포넌트 스캔 방식을 이용한다. 하지만 정..