본문 바로가기

Spring6

[Spring] 스프링 DI - 의존관계 주입 스프링 백엔드 개발할 때마다 아무렇지 않게 @Autowired를 사용해 서비스 의존관계를 주입했었는데, 어느 날 보니 IDE에서 경고메시지를 출력하고 있었다. Field injection is not recommended … Always use constructor based dependency injection in your beans 이게 먼가.. 하고 찾아봤더니, 스프링의 DI에는 Field Injection, Setter Injection, Constructor Injection 등의 의존성 주입이 있고, 그중 내가 사용한 Field Injection은 사용이 지양되는 방식인 것 같다. 하여 의존관계 주입에 대하여 살펴보았다. Dependency Injection(의존관계 주입) 먼저 DI에 대해.. 2022. 4. 21.
[Spring] (Mac) mvn not found 에러 맥북에서 도커 빌드를 하는 과정에서 스프링 서버를 jar로 빌드하는 과정에서 발생한 에러입니다. 이는 메이븐이 설치되어 있지 않아서 발생한 에러인데요 이 해결 과정을 작성해보겠습니다. 우선 https://maven.apache.org/download.cgi 에서 Maven tar.gz 파일을 다운 받습니다 다운을 완료하셨으면 다운로드 폴더에서 압축을 풀어주겠습니다. tar xvf apache-maven-3.8.4-bin.tar.gz 압축을 푼 파일을 /usr/local/로 옮겨줍시다 sudo mv apache-maven-3.8.4 /usr/local/ 이제 /usr/local/bin 폴더로 들어가 mvn으로 링크를 설정해주겠습니다 cd /usr/local/bin sudo ln -s ../apache-ma.. 2021. 12. 24.
[Spring] the prefix for element is not bound 에러 스프링 세팅 중 component-scan과 aop를 작성하는 도중 발생한 에러이다. 이 경우 beans에 xmlns:context와 xmlns:aop를 추가해주면 해결할 수 있다. 다음과 같이 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" "www.springframework.org/schema/context" 를 추가하자 2021. 8. 26.
[Spring] javax/xml/bind/DatatypeConverter 에러 스프링 시큐리티를 적용하는 과정에서 jwt 토큰 생성 중 발생한 에러이다 해당 문제는 jdk11 에서는 관련 모듈이 기본 참조되지 않아 에러가 발생한다고 한다. // https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' // https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0.1' // https://mvnrepository.c.. 2021. 4. 15.
port 8080 already in use 에러 스프링, 리액트 등을 재실행할 때 발생한 에러이다. 8080포트가 이미 실행중이라 이를 제거해야 한다. // 윈도우 netstat -ano | findstr 8080 // 리눅스 netstat -ano | grep 8080 명령으로 8080 포트가 실행중임을 확인하고, pid를 확인한다. taskkill /pid pid번호 /f 또는 kill [pid 번호] 명령으로 해당 pid를 삭제한다. 이후 다시 실행하면 정상 작동함을 확인할 수 있다. netstat 명령으로 검색 시 pid 번호가 나타나지 않는다면 lsof 명령을 사용해 확인할 수 있다. lsof -i:8080 만약 lsof not found 에러가 발생할 경우 lsof를 설치해준다 centOS sudo yum install lsof Ubuntu.. 2021. 4. 7.
[Spring] ./gradlew: command not found 에러 스프링 부트 코드를 서버에 옮겨서 grdlew로 빌드하는 상황에 발생한 에러이다. 이 에러는 gradlew에 실행권한이 없어 발생한 에러로, chmod +x gradlew 명령으로 실행권한을 부여하면 된다. * ./gradlew build 2021. 4. 7.