개발 공부
[SpringBoot] Error - java.net.SocketTimeoutException at PlainSocketImpl
상황 - CI 작업을 위해서 프로젝트에 github action을 연동하던 중 마주친 에러. - build 중 테스트가 돌아가면서 에러가 나버린다. - 프로젝트의 datasource는 RDS mysql database를 연결해둔 상태였다. 발생한 에러 ApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1804 Caused by: javax.p..
[SpringBoot] Error - Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
상황 Spring Initializr을 통해서 MySQL 의존성을 추가한 상태 IndexController를 테스트용으로 만들고, 서버를 run 시켰더니 마주친 오류 Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you ..
[AWS EC2] 시스템 호스트네임 변경하기 - Amazon Linux AMI 1, 2
EC2를 생성하고 나면 콘솔에 ec2-user@ip-172-xx-xx-xxx ~ 로 뜨는 것을 확인할 수 있다. 여러 서버를 관리 중일 경우 IP만으로 어떤 서비스의 서버인지 확인이 어렵기 때문에 HostName을 변경하는 것이 좋다. 프리티어 기준 AMI 1, 2의 케이스로 나누면 1. Amazone Linux AMI 1의 경우 - 쉘에서 해당 명령어 입력 sudo vim /etc/sysconfig/network 이후 NETWORKING=yes HOSTNAME=localhost.localdomain NOZEROCONF=yes 의 내용을 가진 화면이 뜰 것이다. 해당 창에서 편집을 위해 "i" (insert)를 누르고, HOSTNAME=내가 바꾸고 싶은 이름으로 변경해준다. 이후 esc -> :wq (저..
[Git] git commit 되돌리기(로컬, 원격)
방금 커밋을 날리다가, 잘못해서 build 파일까지 github에 push를 해서 되돌리면서 시도한 해결 방안을 기록한다. 1. git commit 취소하기 - git commit -m "~~"로 로컬에서 git의 내부 인덱스에 파일 및 디렉터리를 저장한 경우 git reset HEAD^ 명령어를 통해 전 커밋으로 이동 가능 현재 origin&master의 HEAD가 "Add HelloController, testCode"를 가리키고 있는데 "gitignore 추가" 커밋으로 HEAD가 이동하며 최상단 커밋을 취소하고 커밋한 파일들을 unstaged 상태로 되돌린다. (add 전) 즉, 제일 최근 커밋이 취소된다고 보면 된다. 이후에 커밋 취소한 파일들을 다시 작업을 해서 git commit -m "~~..
스프링 - 의존 관계 주입 방법 4가지
이제까지 컴포넌트 스캔을 통해서 설정 파일에서 따로 @Bean을 통해서 빈을 등록하지 않고 @Component을 통해 스프링 컨테이너에 등록하는 방법을 정리해보았다. 클래스에 @Component를 붙이고, 의존 관계 또한 해당 클래스 내에서 정의해줘야 하는데 이번엔 이 의존 관계 주입 방법에서 대표적인 4가지를 정리해보려 한다. 1. 생성자 주입 @Service public class AService{ private final ARepository aRepository; @Autowired public AService(ARepository aRepository){ this.aRepository = aRepository; } } - 말 그대로 생성자를 이용한 의존 관계 주입 방법이다. - 스프링이 컴포넌트..
스프링 - @Component와 컴포넌트 스캔
이제까지 1. 관심사의 분리를 위한 자바 코드를 이용한 설정 파일 + 의존관계 주입 https://bbeomgeun.tistory.com/141 스프링 - 의존 관계와 DI, Ioc 컨테이너 0. 의존 관계란 - 의존 관계란 어떤 대상 A가 대상 B에 영향을 받는, 연관이 있는 관계이다. (사용하는 관계면 의존한다라고 봐도 무방한 것 같다.) - 예를 들자면, 인터페이스 A를 구현한 클래스 cla bbeomgeun.tistory.com 2. 스프링 컨테이너 + 자바 설정 파일을 이용한 의존관계 주입으로 싱글톤 컨테이너 구성 https://bbeomgeun.tistory.com/142 스프링 - 스프링 컨테이너, 싱글톤 0. 스프링 컨테이너 - ApplicationContext를 스프링 컨테이너라고 부른다..