1부에서 작업한 코드로는 웹 프로젝트를 실행할 수 없습니다. 추가 작업을 하겠습니다. Java Resources -> src 우클릭 합니다. Name에 "spring.home.controller"를 입력 후 "Finish"를 누릅니다. 생성된 패키지에 HomeController 클래스를 생성합니다. 그러면 servlet.xml 파일의 에러가 사라집니다. 에러간 난 이유는 태그에 선언된 class가 존재하지 않기 때문입니다. 이제 HomeController를 코딩해야 합니다. "@"는 어노테이션이라고 불리며, 위와 같은 아키텍쳐는 Spring MVC RESTful API입니다. 제가 배운 REST는 Spring 3 MVC RESTful API입니다. 설명은 아래와 같습니다. @Controller : 해당 ..
maven 외부 저장소에서 라이브러리를 프로젝트에 포함시킬 때 간혹 문제가 발생하는 경우가 있어서 maven이 없는 스프링 프로젝트를 만들어 보겠습니다. - Dynamic Web Project 생성하기 프로젝트 이름 입력 후 "finish"를 누릅니다. - lib폴더에 jar파일 넣기 (1) http://maven.springframework.org/release/org/springframework/spring/ 에서 STS 버전에 맞게 Spring Release를 클릭합니다. (만약 없을 경우, Maven 프로젝트를 생성 후 pom.xml에서 에 적힌 버전을 확인하시면 됩니다.) 그 후, dist.zip을 클릭하여 다운을 받습니다. 해당 폴더를 열고 spring-framework-버전.RELEASE/l..
- LinkedHashMap이란? Map 인터페이스를 구현한 클래스이며 동시에 Linked LIst이면서 Hash table입니다. - 특징 (1) 입력했던 순서대로 Entry가 LinkedHashMap에 mapping됩니다. (2) LinkedHashMap은 double-linked List로 모든 Entry를 유지합니다. (3) key, value에 null 입력이 가능합니다. (4) get, put, remove, containsKey 메소드를 호출할 때 O(1)의 시간복잡도를 갖습니다. - 생성자 //첫번째 생성자 LinkedHashMap map1 = new LinkedHashMap(); //두번째 생성자 LinkedHashMap map2 = new LinkedHashMap(10); //세번째 생..
- TreeMap이란? NavigableMap 인터페이스를 구현한 Red-Black tree입니다. key값에 의해 정렬이 되는데, 생성자에 Comparator객체를 입력하여 생성할 경우 Comparator의 compare메소드에 의해 정렬이 이루어집니다. 기본적으로는 natural ordering이 이루어집니다. - 특징 (1) containsKey, get, put, remove 메소드를 수행시 O(log(n))의 시간복잡도를 가집니다. (2) 정렬은 natural ordeing의 경우 Map 인터페이스의 equals메소드를 통해서 이루어지고, Comparator를 매개변수로 입력하여 생성된 TreeMap객체에서는 compare 메소드를 통해서 이루어집니다. (3) 동기화가 되지 않습니다. 동기화되는..