본문 바로가기

코딩 공부204

[Spring] @Controller와 @RestController @Controller 전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다. 아래와 같은 과정을 통해 Spring MVC Container는 Client의 요청으로부터 View를 반환합니다. Client는 URI 형식으로 웹 서비스에 요청을 보냅니다. DispatcherServlet이 요청을 처리할 대상을 찾습 니다. HandlerAdapter을 통해 요청을 Controller로 위임합니다. Controller는 요청을 처리한 후에 ViewName을 반환합니다. DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 사용자에게 반환합니다. Controller가 반환환 뷰의 이름으로부터 View를 렌더링.. 2023. 11. 4.
[Spring] Spring Security Spring Security Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크로 Spring Security는 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리하고 있습니다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있습니다. 특징 인증 및 권한 부여에 대한 포괄적이고 확장 가능한 지원 세션 고정, 클릭재킹, 크로스 사이트 요청 위조 등과 같은 공격으로부터 보호 서블릿 API 통합 Spring Web MVC와의 선택적 통합 etc 인증(Authorizatoin)과 인가(Auth.. 2023. 10. 26.
[Spring] 스프링 실행 후 웹에서 한글 ?? 깨짐 에러 환경 - Spring Boot 3.1.5 - intelliJ - Java 21 문제 intelliJ에서는 깨지지 않으나 스프링으로 실행 후 웹에서 한글만 ???로 바뀌어서 출력 되는 문제가 있었다. 해결 방법 server.servlet.encoding.force-response=true 위 코드를 application.properties에 넣어주면 해결이 됩니다. 2023. 10. 20.
[Spring] JPA JPA(Java Persistence API) 자바의 ORM을 위한 표준 기술로 Hibernate, Spring JPA, EcliplseLink 등 과 같은 구현체가 있고 이것의 표준 인터페이스가 JPA 입니다. ORM(Object-Relational Mapping) 객체와 RDBMS를 자동으로 매핑해주는 것을 말한다. (객체 ↔ 관계형 데이터베이스) 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면된다. 장점 QL문이 아닌 Method를 통해 DB를 조작할 수 있어,비즈니스 로직을 구성하는데만 집중할 수 있습니다. Query와 같이 필요한 부수적인 코드가 줄어들어 코드의 가독성이 높아집니다. 객체지향적인 코드 작성이 가능하면 되기때문에 생산성 증가합니다. 매핑하는 .. 2023. 10. 17.
[Spring] SpringBoot Auto Configuration SpringBoot Auto Configuration @SpringBootApplication public class LearnSpringBootApplication { public static void main(String[] args) { SpringApplication.run(LearnSpringBootApplication.class, args); } } 일반적으로 Spring Boot를 사용하여 웹 애플리케이션을 빌드할 때면 많은 설정이 필요합니다. 컴포넌트 스캔, DispatcherServlet을 설정해야 하고 데이터베이스와 통신하려면 데이터 소스를 설정 등 많은 것들을 설정해야 합니다. 이와 같은 작업을 간소화하기 위해 환경 설정을 자동으로 해주는 SpringBoot Auto Configura.. 2023. 10. 12.
[Spring] 중요한 어노테이션 정리 및 복습 @Configuration @Bean 메서드가 하나 이상 선언함을 나타냅니다. Spring 컨테이너에서 처리하여 Bean 정의를 생성합니다. @Configuration을 선언하므로서 Java 설정 파일을 만든다는 것을 의미합니다. @Configuration public class GamingConfiguation { // Spring Bean(Spring에서 관리하는 것들을 의미) 정의 가능 @Bean public GamingConsole game() { var game = new PacmanGame(); return game; } @Bean public GameRunner gameRunner(GamingConsole game) { return new GameRunner(game); } } Java 설정.. 2023. 10. 9.