🍃 Spring, Spring Boot

    [Java / Spring] 20. 문서 출력방법

    이전 시간까지 우리는 ViewResolver와 TilesResolver를 사용하여 문서를 출력하였다. 만약 문서가 아닌, 단순한 문자열을 사용자에게 출력하고 싶다면 우리는 다른 두 가지 방법을 사용할 수 있다. 첫 번째 방법은 서블릿 객체를 얻어서 이를 활용하는 방법이다. 사용 방법은 다음과 같다. 즉, Front Controller에서 요청에 의해 HomeController를 가져오면서, response 객체를 넘겨주게되어 HomeController의 함수 안에서 해당 객체를 사용해 문자열을 출력할 수 있는 것이다. 두 번째 방법은 스프링에서 제공하는 방법을 사용하는 것인데, 사용 방법은 다음과 같다. @ResponseBody 어노테이션은 해당 함수가 반환하는 값은 Resolver에 의해 처리될 값이 ..

    [Java / Spring] 19. Root / HomeController

    지난 시간에 우리는 어노테이션을 이용하면서 컨트롤러 클래스의 구현 방식을 바꾸어보았다. 여기서 알 수 있는 점은 이제 해당 컨트롤러 클래스는 더 이상 컨트롤러로써의 역할을 하는 것이 아니며, 실질적인 역할은 컨트롤러 클래스 안에 구현되어있는 함수가 수행한다는 것이다. 따라서 해당 컨트롤러는 컨트롤러를 담고 있는 더 큰 의미의 컨트롤러를 의미하게 되며, 이를 표현하기 위해 컨트롤러의 이름을 특정 페이지에만 해당되는 이름이 아닌 RootController 또는 HomeController 등으로 바꾸어 주는 것이 좋다. 실질적인 컨트롤러의 역할을 하는 함수는 아래와 같이 구현하여 기존 컨트롤러의 역할을 수행할 수 있다. 이와 마찬가지로 공지사항 페이지에 대한 컨트롤러인 DetailController와 List..

    [Java / Spring] 18. Annotation 활용하기

    자바 어플리케이션은 기본적으로 두 가지의 설정 방식을 따른다. 첫 번째는 고전적으로 사용해왔던 xml 파일을 이용하는 방식이며, 두 번째는 어노테이션(Annotation)을 이용하는 방식이다. 이번 시간에는 이전 시간까지 xml 파일로 구현했던 스프링 설정을 어노테이션으로 변경하고자 한다. 우선 서비스 객체를 DI(Dependency Injection) 부분을 먼저 변경하려고 한다. 위 부분에서 태그 부분을 주석처리 한 뒤, 이를 어노테이션으로 대체할 것이다. 주석처리가 되었으면 ListController 클래스의 객체 변수 위에 다음과 같이 어노테이션을 달아준다. 어노테이션의 위치는 변수 위, setter 함수 위 등 상황에 따라 달라질 수 있다. 우리와 같은 경우에는 setter 함수가 실행되면서 추..

    [Java / Spring] 17. 스프링 설정파일(dispatcher-servlet.xml) 분리하기

    이번 시간에는 기존에 작성하였던 dispatcher-servlet.xml 파일을 여러 개의 파일로 나누어 분리하려고 한다. 파일을 분리하는 이유는 협업하는 사람이 있을 경우 각 기능에 따라 해당되는 부분을 나눠서 작업함으로써 일의 효율성을 높이기 위함이다. 이를 위해 우선 WEB-INF 폴더 내에 새로운 폴더를 생성하고 해당 폴더 내에 기존 dispatcher-servlet.xml 파일을 복사하여 총 3개의 xml 파일을 생성해주었다. 파일명의 경우 지정된 형식은 없으며 원하는 이름으로 작성할 수 있다.(여기서 새로 생성된 3개의 xml 파일은 모두 코드 구현이 안되어있는 상태임) 이후 dispatcher-servlet.xml 파일을 열고 기능에 따라 위 3개의 xml 파일에 코드를 복사해준다. 참고로 ..