일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- 도커
- grafana
- 레디스
- 부트캠프
- 백엔드
- 백준
- Flutter
- FLAB
- Spring
- 알고리즘
- AWS
- 자바
- 에프랩
- F-Lab
- 자바백엔드
- nGrinder
- 데이터구조
- 성능테스트
- 멘토링
- 플러터
- 후기
- error
- github
- 코딩테스트
- backend
- IntelliJ
- 트러블슈팅
- MySQL
- EC2
- Today
- Total
목록Programming Language & Framework/JAVA & Spring (34)
민스씨의 일취일장

프로젝트 재실행 없이 UI 변경사항 반영되도록 하는 방법에 대한 글이다.Thymeleaf - 재실행 없이 변경사항 반영되도록 하는 방법 타임리프(Thymeleaf)와 같은 템플릿 엔진을 이용해 UI를 개발하고 있을 때, 변경사항이 제대로 반영되었는지 확인하기 위해 반복적으로 프로젝트 전체를 재실행하는 것은 생각보다 많은 시간을 잡아먹는다. 그렇다고 프로젝트 Rebuild를 진행한다고 반영되는 것도 아니다. 이럴 때 사용하면 좋은 도구가 있어 소개하려고 한다.devtoolsbuild.gradle(또는 pom.xml)에서 devtools를 추가해주면 된다. devtools는 알아서 캐시를 지워주고 UI를 빌드해줘, 프로젝트를 재싱행하지 않고, 브라우저 새로고침만으로 변경사항을 바로 확인할 수 있도록 해주는 ..

스프링 IoC와 DI에 대해서 학습한 내용을 기억하기 위한 글이다.스프링 IoC와 DI에 대해서스프링 IoCIoC란?IoC는 Inversion of Control로 '제어의 역전'을 뜻한다. 원래 객체는 스스로 필요한 의존성을 생성하거나 찾는데 반해, 스프링에서는 해당 역할을 스프링에 위임했다. 이를 보고 제어가 역젼됐다고 말한다.IoC 컨테이너객체로 부터 위임받은 객체의 생성, 생명주기 관리는 스프링 컨테이너가 담당한다. 이렇게 객체 관리의 권한을 위임받은 것이 스프링 컨테이너의 중요한 기능이기 때문에, 'IoC 컨테이너'라고도 부른다.스프링 IoC의 주요 기능스프링 IoC의 주요 기능은 아래와 같다.1. 의존성 주입 (DI)2. 객체 생명주기 관리3. 애플리케이션 설정 관리4. AOP 지원스프링 DI..

인텔리제이에서 Java 프로젝트를 생성하고 테스트 코드까지 작성해 보는 과정에 대한 글이다.IntellinJ에서 Java 프로젝트 생성 후 테스트 코드까지 작성해보기프로젝트 생성하기인텔리제이를 실행해 New Project 버튼을 눌러 준다.프로젝트 이름을 작성하고 저장할 공간을 선택한다. Java 프로젝트 이므로 Java를 선택하고, 빌드 툴은 Gradle을 선택했다. JDK는 자바 버전을 뜻하고, 17을 선택했다. Gradle DSL은 Kotlin을 선택해 주었다.이렇게 한 뒤 create 버튼을 눌러주면 프로젝트 생성은 완료된다.테스트 코드 작성하기이렇게 프로젝트를 생성한 뒤 간단하게 패키지 하나를 만들고 그 안에 클래스 하나를 생성해 준다. 테스트 코드를 위해선 함수가 있어야 한다. 아래는 간단하게..

TIssue 오늘의 이슈는 다음과 같다. Controller에 요청 자체가 도달하지 않는다. 원인 이 이슈에 대해서는 다양한 원인이 있을 수 있지만, 내가 겪은 이슈의 원인은 아주 간단했다. 어쩌면 너무 간단해서 못찾았던 것 같다. 원인은 바로! @RequestBody 애너테이션을 사용하지 않았기 때문이다. RequestDto를 만들어서 데이터를 매핑할 계획이었다. 스프링은 메시지 컨버터(Message Converter)를 이용해서 매서드의 매개변수와 요청의 데이터를 바인딩한다. 하지만 이 때 @RequestBody (또는 @RequestParam 등)이 없으면 스프링은 데이터를 매핑할 곳을 찾지 못하고 예외를 발생시킨다. 해결책 @RequestBody, @RequestParam, @PathVariabl..
상황 컴파일 시 에러가 발생한다. error: reached end of file while parsing 원인 닫히지 않은 괄호가 존재해서 그렇다. 해결방법 닫히지 않은 괄호를 찾아서 닫아준다.

상황 assertThat()이 임포트 되지 않았다. 임포트 가능한 메서드는 아래의 두 가지 밖에 없는 상황이었다. 원인 정확한 원인은 파악하지 못했다. 해결 실마리 assertj의 Assertions 패키지에 포함된 assertThat() 메서드를 임포트해야 한다는 목적이 유일한 실마리였다. 해결방법 Assertions를 직접 임포트 해주었다. import org.assertj.core.api.Assertions; 이 때 assertThat()을 사용하기 위해선 Assertions를 먼저 호출해야 한다. Assertions.assertThat();