본문 바로가기

Java28

[Spring] ResponseEntity ResponseEntity Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재합니다. 이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스입니다. public class HttpEntity { public static final HttpEntity EMPTY = new HttpEntity(); private final HttpHeaders headers; @Nullable private final T body; // ... } Response header 에는 웹서버가 웹브라우저에 응답하는 메시지가 들어있고, Reponse body에 데이터 값이 들어가 있습니다. HttpEntity 클래.. 2023. 11. 7.
[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] 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.
[Spring] Spring XML 설정 Spring XML 설정 Spring 프레임워크의 초기에는 Java 설정이 없고 XML 설정만 있었습니다. 그래서 이와 같이 XML 설정파일을 작성하여 Bean들을 생성했습니다. 그 후 public class XmlConfigurationLuncherApplication { public static void main(String[] args) { try (var context = new ClassPathXmlApplicationContext ("contextConfiguration.xml")) { Arrays.stream(context.getBeanDefinitionNames()) .forEach(System.out::println); System.out.println(context.getBean("na.. 2023. 10. 9.