본문 바로가기

DevOps/Spring5

[Spring] 이클립스, 스프링 환경에서 Junit4, Junit5 를 사용해 DAO 테스트 하기 JUnit을 간단하게나마 이해하고 나서, 최근 시작한 스프링(Spring Regacy) 환경에서 개발을 하다가 Junit을 적용해보고 싶어서 사용하기 시작했습니다. 그러나 간단한 Junit 문제없이 실행이 되지만 스프링의 어노테이션을 적용한 DAO는 직접 테스트할 수 없었습니다. 원인을 찾아보니 Junit에서 스프링 설정 환경 로딩 문제와 관련 라이브러리 설정이 문제였습니다. 아래에서 차례로 문제와 해결방법을 살펴보겠습니다. 1. 스프링 환경 파일 설정하기 1.1 spring-test-*.jar 스프링 환경에서 JUnit을 실행하려면 spring-test-*.jar 가 필요합니다. 이를 위해서 Maven에서 가져올 수 있도록 pom.xml 파일의 Depedencis 영역에 아래 구문을 추가해 줍니다. o.. 2022. 6. 17.
[Spring] AOP의 ProceedingJoinPoint가 import가 안되는 경우 스프링 작업 중 AOP 클래스의 하나인 ProceedingJoinPoint를 사용하려고 하는데 import가 안되어서 방법을 찾아봤습니다. 기본적으로는 Maven에서 Dependency가 제대로 설정이 되지 않을 경우 자주 볼 수 있는 에러인데 이번에는 설정이 되어 있는데도 오류가 발생하였습니다. 1. 오류 확인 다른 AOP 태그들은 문제없이 사용할 수 있었는데, ProceedingJoinPoint만 문제가 있었습니다. import org.aspectj cannot be resolved라고 나옵니다. 2. Maven 설정 확인 먼저 메이븐을 살펴봤습니다. AOP를 사용하기 위해서는 aspectjrt와 aspectjweaver 두 가지 jar가 필요합니다. 만약 aspectjweaver.jar가 빠졌다면 .. 2022. 6. 14.
[Spring] @Resource 어노테이션이 import가 안될 경우 스프링 프로젝트에서 @Resource 어노테이션 관련 import가 제대로 되지 않는 경우가 있습니다. 아래와 같이 import를 입력해도 에러로 인식합니다. 원인은 관련 jar 파일을 찾을 수 없어서 나오는 에러입니다. 이 문제를 해결하려면 Maven Dependency를 수정해주면 됩니다. 간단하게는 아래의 xml을 pom.xml에 Dependencies 영역에 추가해 주면 됩니다. javax.annotation javax.annotation-api 1.3.2 현재는 상기 API의 버전이 1.3.2 가 최신입니다만, 상기 정보를 정확하게 확인하고 싶다면, Maven Repository에서 확인하고 정보를 가져올 수 있습니다. 1. MVN Repository https://mvnrepository.co.. 2022. 6. 12.
[Spring] log4j.xml 오류 : Cannot find DTD Spring Legacy Project를 처음 등록하고 나서 log4j.xml 파일을 열어보니 다수의 에러가 발견되었습니다. 가만히 메시지를 살펴보니 아래와 같습니다. Cannot find DTD 'file:///D:/workspace-spring/02_CouplingTest_Spring/src/main/resources/log4j.dtd'. Create the DTD file or configure an XML catalog for this DTD. 지정한 경로에서 log4j.dtd 파일을 찾을 수 없다는 메시지입니다. 해결방법은 크게 2가지가 있습니다. 해당 파일을 구해서 resources 폴더에 넣어주거나, 해당 파일이 있는 경로를 찾아서 적어주면 됩니다. 1. 경로 찾아서 변경하기 1.1 apac.. 2022. 6. 10.
[Spring] web.xml 오류 : Invalid element name: - description 스프링 프로젝트를 처음 설정하고 Servlet을 추가한 다음 실행을 하면 실행은 잘 됩니다만, web.xml에 에러 표시가 뜹니다. web.xml을 열어서 살펴보면, 처음 등록한 서블릿에 관련한 내용이 추가되고 나서 아래와 같은 오류가 발생합니다. Invalid element name: -description이 뜨며, 해당 행을 삭제하면 계속 에러가 전파되면서 다른 부분에도 오류가 뜹니다. 해결방법은 간단합니다. 위의 xsi::schemaLocation 부분을 아래와 같이 수정하면 됩니다. // 에러 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" // 정상 xsi.. 2022. 6. 8.