파게로그

Controller의 객체명 설정 본문

콤퓨타 왕기초/Spring Boot

Controller의 객체명 설정

파게 2021. 5. 4. 18:22

URL을 기준으로 설명하면 다음과 같다.

 

/board/notice/[ list | detail | edit | reg | del ]
/admin/board/notice/[ list | detail | edit | reg | del ]

 

위와 같이 두 URL이 모두 존재할 수 있다면, 관리자 페이지와 일반 페이지에 대한 Controller의 이름이 모두 NoticeController로서 중복되어 에러가 발생할 것이다. 하지만 구조상으로 위와 같은 구조가 바람직하기에 구조를 변경하기보다는, 이를 유지하면서도 에러를 발생시키지 않는 방법을 차장야 한다.

이 때에는 Controller의 이름을 바꾸기보다는 @Controller("adminNoticeController")처럼 annotation에 별도의 속성값을 부여하여 객체의 이름을 바꾸어주면 된다.

 

즉, 실제 Bean 객체의 이름을 다르게 함으로써, 아래 2개 클래스가 공존할 수 있게 되는 것이다.

 

com.ddoongi.springweb.controller.board.NoticeController
com.ddoongi.springweb.controller.admin.board.NoticeController

'콤퓨타 왕기초 > Spring Boot' 카테고리의 다른 글

[Persistence Framework] Model(DAO, DTO, Service)  (0) 2021.05.07
[Persistence Framework] JPA vs MyBatis  (0) 2021.05.07
Thymeleaf  (0) 2021.05.05
DevTools, Thymeleaf, View Resolver  (0) 2021.05.04
Why Spring Boot?  (0) 2021.05.04
Comments