
스프링부트는 핸들러 정보를 리스트에 모두 저장한다. 왜 검색 속도가 상수시간인 Map을 사용하지 않고 List에 저장을 할까? 1. 우선 핸들러는 등록 순서에 따라 처리되어야 한다.-> 그럼 LinkedHashmap을 사용하면 될 것 같지만, Map의 특징때문에 후술할 단점이 존재한다. 2. 다양한 url 패턴에 대한 대처가 어렵다.Map 을 사용할 경우 Key 생성 알고리즘에 대해 생각해볼 수 밖에 없다. 단순하게 url 값으로 해시 함수를 사용한다고 가정하면 중복되는 url 패턴을 가진 컨트롤러를 처리하기 어렵다.중복을 제거하기 위해 url + HttpMethod 를 붙이는 등의 방식을 생각할 수 있지만,키 생성 알고리즘도 복잡해질 뿐더러 등록된 핸들러를 검색할때도 해당하는 키 값의 패턴에 맞게 만..