@Controller와 @RestController 애너테이션은 스프링 프레임워크에서 웹 애플리케이션 개발 시 주로 사용되는 애너테이션이다. 이 두 애너테이션은 모두 클래스를 스프링 MVC 컨트롤러로 선언하지만, 그 동작 방식에는 중요한 차이가 존재한다. @Controller @Controller 애너테이션은 스프링 MVC의 전통적인 컨트롤러를 정의하는 데 사용된다. 이 애너테이션은 주로 뷰(View) 템플릿을 반환할 때 사용된다. @Controller 클래스 내의 메서드는 주로 JSP, Thymeleaf와 같은 템플릿 엔진을 통해 HTML 페이지를 반환한다. 뷰 리졸버(View Resolver)를 통해 뷰 이름을 해석하고 해당하는 HTML 페이지를 렌더링한다.@Controller는 기본적으로 뷰 리..
목차 파이썬으로 간단한 앱과 게시판을 구현하던 중 데코레이터라는 단어를 접하게 되었다. 처음에는 그냥 파이썬에서 사용되는 애너테이션이구나~ 하고 사용해 왔으나 조금 다른 점이 있다고 해서 정리하고 넘어가기로. 이 글에서는 먼저 애너테이션과 데코레이터의 정의를 정리한 뒤 그 공통점과 차이점에 대해 간략하게 정리한다. 결론부터 말하자면 둘 다 코드의 확장성, 가독성을 높이고 메타데이터를 제공하는 데 사용되며, 디테일한 용도, 언어, 실행시점, 사용 대상 등에 차이가 있다. Annotation 애너테이션은 직역하면 주석이라는 뜻이다. 하지만 코드레벨에 사용자가 입력한 주석과 구분하기 위해 그냥 애너테이션이라고 부른다. 주로 Java, Kotlin, C#등의 정적 언어에서 사용되며 '@'를 사용하고, 메타데이터..
목차 평소에 관성적으로 써오면서도 정확히 무슨 역할을 하는지 몰랐던 애너테이션 몇 개를 정리하고 넘어가려고 한다. 대상은 아래와 같다. @Lazy @LazyCollection @JsonManagedReference @JsonBackReference @JsonIgnoreProperties @JsonProperty @Lazy 스프링 프레임워크를 사용하면 소프트웨어 시작시 애플리케이션 컨텍스트 로드와 함께 등록된 모든 빈들이 생성된다. 따라서 코드의 규모가 커지고 빈의 개수가 많아질수록 필연적으로 메모리 점유율이 올라가고 시작시간이 느려질 수밖에 없는데, @Lazy는 이런 문제를 조금이라도 해결하기 위해 스프링 프레임워크에서 지원하는 애너테이션이다. 해당 애너테이션을 붙인 빈은 자동으로 지연로딩(Lazy Lo..
열거형(enum) 열거형(enum)은 Enumerated Type에서 왔다. 말 그대로 열거형. 열거형은 변하지 않는 한정된(연관된) 상수 데이터를 다루는 데 최적화된 타입이다. 이나 처럼 말이다. enum 타입을 정의하는 방법은 간단하다. enum Seasons { SPRING, SUMMER, FALL, WINTER } enum Frameworks { DJANGO, SPRING, NEST, EXPRESS } 자바에서 상수는 관례적으로 대문자로 표기하도록 되어 있고, 배열의 경우와 비슷하게 자동으로 0부터 시작하는 정수값이 할당된다. enum Seasons { SPRING, //정수값 0 할당 SUMMER, //정수값 1 할당 FALL, //정수값 2 할당 WINTER //정수값 3 할당 } 또한 열거형..
- Total
- Today
- Yesterday
- Python
- 스프링
- RX100M5
- a6000
- spring
- 칼이사
- 기술면접
- 알고리즘
- 야경
- 지지
- java
- Algorithm
- 맛집
- BOJ
- 여행
- 중남미
- 파이썬
- 남미
- 면접 준비
- 자바
- 백준
- 리스트
- 세계일주
- Backjoon
- 스트림
- 유럽
- 유럽여행
- 동적계획법
- 세계여행
- 세모
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |