-
스프링 - 어노테이션자바 초보개발/스프링 2024. 2. 21. 17:43
스프링의 가장 큰 장점은 객체 생성과 조립을 자동으로 해준다는 것이다.
객체를 조립한다는 것은 Servlet 프로젝트를 진행해봤다면 이해하기 쉽다.
일반적으로 서버를 가동한 후 사용자수가 많아지고, 백만, 천만 단위로 점점 사용자가 많아지면 일일이 객체를 생성하면 서버에 큰 부하가 올 수 있다고 한다. 그래서 미리 몇개의 객체를 생성해 놓고, 자료구조에 객체를 넣어놓은 다음 사용자 요청이 있을 때마다 만들어둔 객체를 꺼내서 서비스를 제공하는 방식으로 부하를 줄이는 방법이 있다.
//객체를 넣어둘 자료구조 Map 생성 New Map<String,Object> controllerMap = new HashMap<>; //생성한 객체를 Map에 넣어둔다. controllerMap.put("/main", new MainController()); //생성했던 객체를 꺼내서 메서드를 실행한다. controllerMap.get("/main").execute();어노테이션은 원래 자바에서 다양한 방식으로 사용된다고 하지만,
스프링에서는 주로 위처럼 객체를 생성하고 조립을 자동으로 할 코드를 표시하는 기능으로 사용한다.
아래처럼 클래스 위에 @어노테이션 종류를 입력해준다.
@Controller public class BoardController { }이렇게 쓸 경우 BoardController를 생성한 뒤 Map에 넣는 것과 비슷한 일이 일어난다고 생각하면 편할 것 같다.
자주 사용하게 되는 비슷한 어노테이션은
@Service : 로직을 수행할 중간과정 클래스 위에 작성
@Repository : DB와 연결하여 정보를 처리하는 클래스 위에 작성
등이 있다.
이 외에도 @Autowired, @GetMapping 처럼 클래스에 직접쓰지 않는 어노테이션이 있지만 현재는 생략하려고 한다.