@ContextConfiguration( locations = {"file:Deployed Resources/webapp/WEB-INF/spring/**/*.xml"}) 위와 같은 코드를 작성이후 ContextConfiguration cannot be resolved to a type 에러가 발생했다. spring-test dependency를 추가해주었는데도 계속오류가나고 spring-test의 버전을 바꾸어서 주입시켜도 계속 오류가 났다. 그런데 해결방법은 pom.xml에서 spring-test 라이브러리를 추가할 때 부분을 주석처리해주는 것이였다.
개발 방식중에서는 TDD(Test-driven Development)라는게 있다. 테스트 주도 개발에서 사용되지만 코드의 유지 보수 및 운영 환경에서의 에러를 미리 방지하기 위해서 단위 별로 검증 하는 테스트 프레임워크이다. -단위테스트 : 작성한 코드가 기대하는 대로 동작하는지를 검증하는 절차 -JUnit : Java기반의 단위 테스트를 위한 프레임워크 Annotation 기반으로 테스트를 지원하며, Assert를 통하여 (예상값, 실제값)을 통해 검증한다. 다음은 Junit을 이용해서 단위 테스트를 하는 예제 코드이다. 1. ICalculator 인터페이스 1 2 3 4 5 public interface ICalculator { int sum(int x, int y); int minus(int x, ..
@Bean은 메소드 레벨에서 선언하며, 반환되는 객체(인스턴스)를 개발자가 수동으로 등록하는 Annotation인 반면에 @Component는 클래스 레벨에서 선언하며 스프링이 Runtime(실행) 될 시에 Component를 스캔하여 자동으로 bean을 찾고 등록하는 Annotation이다. Bean Component 메소드에 사용 클래스에 사용 개발자가 컨트롤이 불가능한 외부 라이브러리 사용시 사용 개발자가 직접 컨트롤이 가능한 내부 클래스에 사용 추가적으로 @Configuration은 @bean과 동일하게 개발자가 컨트롤이 불가능한 외부 라이브러리 사용시 한번에 여러개의 Bean을 등록하기 위해서 사용하는 Annotation이다. @Configuration 예제 코드 12345678910111213..
스프링에서 객체를 직접관리하는데 그렇게 직접관리 되는 객체를 bean라 하고 그 bean들이 관리되는 장소가 Spring Container인 것이다. 그리고 Spring Container가 이렇게 객체들을 제어하는 권한을 개발자로부터 가져갔기 때문에 ioc(제어역전현상)이라고 말한다. 다음의 예제 코드를 살펴보자. 먼저 iocSpring이라는 웹앱의 예제코드이다. (설명은 주석으로 작성함) 1.iocSpringApplication.java 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 ..
DI(Dependency Inject)이란 객체를 직접 생성하는 것이 아니라 외부에서 생성한 후 주입시키는 것을 말한다. 기본적으로 Spring에서는 이러한 방식을 사용하고 있다. 아래는 DI에 관한 예제 코드이다. 1. Main.java 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 31 32 33 34 35 36 37 38 package com.company.ioc; public class Main { public static void main(String[] args) { String url = "www.naver.com/books/it?page=10&size=20&name=spring-boot"; /..