[Spring || SpringBoot] Controller와 RestController 란?
·
Java/Spring || SpringBoot
서론Spring이나 Spring Boot를 사용해 웹 앱 혹은 API를 개발할 때 @Controller와 @RestController라는 두 가지 주요 어노테이션을 사용한다.하지만 이 둘은 용도가 다르고 동작 방식에도 차이가 있다. 해당 포스팅에서 두 가지의 차이점을 비교해 보자. @Controller란?기본 개념@Controller는 주로 HTML 페이지를 반환하는 용도로 사용한다.Spring MVC 패턴에서 View를 반환할 때 사용한다.메서드의 반환값은 ViewResolver에 의해 해석된다.MVC 패턴이 어떤 건지 정확히 모른다면 아래 MVC 패턴에 대해 정리한 포스팅을 보고 오자.2024.11.02 - [Backend/Spring || SpringBoot] - [Spring || SpringBo..
[Java/자바] 출력 성능 개선하기: System.out.println() 대신 BufferedWriter
·
Java/개념 & 문법
Java로 코딩을 할 때, 특히 많은 양의 데이터를 출력해야 하는 상황에서 System.out.println()을 사용하는 것은 실행 시간에 큰 영향을 미칠 수 있다.이를 해결하기 위해 BufferedWriter를 사용하여 성능을 크게 향상시킬 수 있었습니다. 이번에는 System.out.println()을 BufferedWriter로 대체하는 과정과 그 효과에 대해 자세히 설명드리겠습니다. System.out.println()아래 코드는 System.out.println()을 사용하여 RGB 값의 모든 조합을 출력하는 구조이다. for 문을 세 번 중첩하여 모든 경우의 수를 계산하고, 각 경우에 System.out.println()으로 출력했습니다. 코드의 실행 시간은 무려 3995ms나 소요되었다.i..
[Spring || SpringBoot] MVC 패턴이란? 스프링 MVC와 Counter 앱 예제
·
Java/Spring || SpringBoot
스프링 프레임워크를 경험하면 한 번씩은 들어본 MVC 패턴에 대해서 기록하려고 한다.MVC 패턴은 애플리케이션의 유지보수성과 확장성을 높이기 위해 UI와 비즈니스 로직을 분리하는 아키텍처 패턴이다.Counter 앱을 예제로 어떻게 구현이 되는지 작성하려고 한다. 서론MVC 패턴이란?MVC (Model-View-Controller) 패턴은 애플리케이션을 Model, View, Controller 세 가지 구성 요소로 나누어 각 컴포넌트가 독립적으로 동작하도록 구조화한 아키텍처 패턴이다.Model: 데이터와 비즈니스 로직을 관리하는 부분View: 사용자에게 보여지는 UIController: Model과 View를 중개하며, 사용자의 요청을 처리하고 응답을 생성스프링 MVC 패턴을 사용하면 비즈니스 로직과 U..
[Spring || SpringBoot] Thymeleaf Layout - 타임리프 레이아웃 적용 하기
·
Java/Spring || SpringBoot
화면 단에서 사용하는 헤더 혹은 푸터와 같은 화면에서 공통적으로 사용하는 부분을 모든 HTML이나 JSP 화면에 적용하게 되면, 수정이 이뤄지면 매번 고쳐야 하는 문제가 있다. 즉 비효율적이다. 필자는 JSP에서는 Include와 같은 것을 사용해 공통. jsp를 만들고 해당 jsp 부분을 가져오는 방식으로 개발했었다.하지만 타임리프에서는 이런 번거로운 과정을 줄여주기 위해 레이아웃 기능을 제공해 준다. build.gradleimplementation 'org.springframework.boot:spring-boot-starter-thymeleaf'implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' 위 Dependencies를 build..
[Spring || SpringBoot] IPv4 설정
·
Java/Spring || SpringBoot
서버에서 유저 IP를 받기 위해서, IPv4로 설정이 필요하다. 이는 실행 파일 VM 설정을 해주면 된다.  위 사진은 IntelliJ의 Run Configuration  설정이다. Build and Run > Modify Options를 누르면 위와 같은 리스트가 나온다.사진 속 Add VM Options를 선택하면 사진과 같이 실행시 옵션을 설정할 수 있다.-Djava.net.preferIPv4Stack=true​ 위 VM Arguments를 입력해주면 IP를 받는 부분에서 IPv4 형식으로 출력할 수 있다.
[Spring || SpringBoot] Spring에서 @Value로 Properties 값 가져오기
·
Java/Spring || SpringBoot
Spring boot에서는 외부 설정 파일을 통해 Properties 설정 값을 관리할 수 있다. application.properties  또는 application.yml 파일에 저장된 값을 Java 코드에서 불러오는 방법 중 하나는 @Value 어노테이션을 사용하는 것이다. @Value 어노테이션 사용하기# application.propertiesapp.name=MySpringApplicationapp.version=1.0.0 위와 같이 설정 값을 저장한다고 가정한다. import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic class A..