본문 바로가기

전체 글1017

스프링 부트 시큐리티 스프링 부트 시큐리티는 스프링 기반 애플리케이션의 인증(Authentication)과 인가(Authorization)를 처리하기 위한 기능을 제공하는 모듈입니다. 스프링 부트 시큐리티는 애플리케이션의 보안 요구사항을 충족시키고 사용자 인증, 권한 부여, 세션 관리 등의 보안 기능을 간편하게 구현할 수 있도록 도와줍니다. 사용법 스프링 부트 시큐리티를 사용하기 위해서는 의존성을 추가하고 구성 파일을 설정해야 합니다. 주요한 설정 요소는 다음과 같습니다. 1. 의존성 추가 pom.xml 파일에 스프링 부트 시큐리티 모듈의 의존성을 추가합니다. org.springframework.boot spring-boot-starter-security 2. 보안 구성 WebSecurityConfigurerAdapter를 .. 2023. 7. 6.
스프링 타임리프(thymeleaf) 스프링 타임리프는 스프링 프레임워크에서 사용되는 자바 기반의 서버 사이드 템플릿 엔진입니다. 타임리프를 사용하면 동적인 웹 페이지를 생성하고, 데이터를 템플릿과 결합하여 클라이언트에게 전달할 수 있습니다. 스프링 타임리프의 개념과 기능, 그리고 예시를 통해 설명하겠습니다. 스프링 타임리프의 기능 템플릿 엔진: 스프링 타임리프는 서버 사이드에서 동작하며, HTML, XML, CSS 등의 템플릿을 처리하여 동적인 웹 페이지를 생성합니다. 표현식 언어: 스프링 타임리프는 자체적인 표현식 언어(Thymeleaf Expression Language, 또는 줄여서 Thymeleaf EL)를 제공하여 템플릿에서 변수, 반복문, 조건문 등을 사용할 수 있습니다. 데이터 결합: 스프링 타임리프는 서버 사이드 데이터와 템.. 2023. 7. 6.
MockMvc 메소드 MockMvc는 스프링 MVC 애플리케이션의 테스트를 작성할 때 사용되는 프레임워크입니다. MockMvc를 사용하면 실제 HTTP 요청을 보내지 않고도 컨트롤러의 동작을 테스트할 수 있습니다. MockMvc의 기능과 사용법에 대해 알아보고, 실제 예시를 통해 설명하겠습니다. MockMvc 메소드 개념: MockMvc는 스프링 MVC 애플리케이션의 테스트를 위해 제공되는 클래스입니다. MockMvc를 사용하여 컨트롤러의 특정 메소드를 호출하고, 결과를 검증할 수 있습니다. 기능: MockMvc는 다양한 메소드를 제공하여 컨트롤러의 동작을 테스트할 수 있습니다. 주요 메소드는 다음과 같습니다. perform(requestBuilder): 지정된 요청을 실행하고 결과를 반환합니다. andExpect(resul.. 2023. 7. 6.
@AutoConfigureMockMvc 어노테이션 @AutoConfigureMockMvc 어노테이션은 스프링 부트 테스트에서 MockMvc를 자동으로 구성하는 데 사용되는 어노테이션입니다. MockMvc는 스프링 MVC 애플리케이션의 테스트를 작성할 때 사용되는 프레임워크입니다. @AutoConfigureMockMvc 어노테이션에 대해 알아보고, 그 사용 방법과 예시를 설명하겠습니다. @AutoConfigureMockMvc 어노테이션 개념: @AutoConfigureMockMvc 어노테이션은 스프링 부트 테스트에서 MockMvc를 자동으로 구성하기 위해 사용됩니다. 기능: 이 어노테이션을 사용하면 테스트 클래스에서 MockMvc 인스턴스를 선언하고 구성할 필요가 없습니다. 스프링 부트가 자동으로 MockMvc를 구성하여 테스트에 사용할 수 있도록 합니다.. 2023. 7. 6.
@WebMvcTest 어노테이션: 스프링 MVC 테스트 @WebMvcTest 어노테이션은 스프링 MVC 컨트롤러의 단위 테스트를 작성할 때 사용되는 어노테이션입니다. @WebMvcTest 어노테이션에 대해 알아보고, 어떻게 사용되는지 예제를 통해 설명하겠습니다. @WebMvcTest 어노테이션 기능: @WebMvcTest 어노테이션은 스프링 MVC 컨트롤러의 단위 테스트를 작성할 때 사용됩니다. 테스트 컨텍스트: @WebMvcTest 어노테이션을 사용하면 스프링 MVC 테스트 컨텍스트가 로드되고, 테스트 중에 해당 컨텍스트를 사용할 수 있습니다. 제한된 컴포넌트: @WebMvcTest 어노테이션을 사용하면 컨트롤러와 관련된 빈만 로드되므로 다른 컴포넌트는 자동으로 제외됩니다. 예제 다음은 @WebMvcTest 어노테이션을 사용하여 스프링 MVC 컨트롤러의 단.. 2023. 7. 5.
@SpringBootTest 어노테이션: 스프링 부트 테스트 @SpringBootTest 어노테이션은 스프링 부트 애플리케이션의 통합 테스트를 작성할 때 사용되는 어노테이션입니다. @SpringBootTest 어노테이션에 대해 알아보고, 어떻게 사용되는지 예제를 통해 설명하겠습니다. @SpringBootTest 어노테이션 기능: @SpringBootTest 어노테이션은 스프링 부트 애플리케이션의 통합 테스트를 작성할 때 사용됩니다. 테스트 컨텍스트: @SpringBootTest 어노테이션을 사용하면 스프링 애플리케이션 컨텍스트를 로드하고, 테스트 중에 해당 컨텍스트를 사용할 수 있습니다. 예시: @SpringBootTest 어노테이션을 사용하여 스프링 부트 애플리케이션의 통합 테스트를 작성할 수 있습니다. 예제 다음은 @SpringBootTest 어노테이션을 사용.. 2023. 7. 5.
@RunWith 어노테이션: JUnit 테스트 실행 방식 지정 JUnit은 자바 개발자들이 유닛 테스트를 작성하고 실행할 수 있는 프레임워크입니다. @RunWith 어노테이션은 JUnit에서 테스트 클래스의 실행 방식을 지정하는 데 사용됩니다. @RunWith 어노테이션에 대해 알아보고, 어떻게 사용되는지 예제를 통해 설명하겠습니다. @RunWith 어노테이션 기능: @RunWith 어노테이션은 JUnit의 기본 실행 방식을 변경하거나, 커스텀한 실행 방식을 사용하고자 할 때 사용됩니다. 테스트 실행자: @RunWith 어노테이션을 사용하여 테스트 클래스를 실행할 때 사용할 테스트 실행자를 지정할 수 있습니다. 예시: SpringRunner.class를 @RunWith 어노테이션에 지정하여 스프링 애플리케이션 컨텍스트와 관련된 테스트를 실행할 수 있습니다. 예제 다.. 2023. 7. 5.
@OneToMany vs @ManyToOne: JPA 관계 매핑의 차이 JPA(Java Persistence API)에서는 엔티티 간의 관계를 매핑하기 위해 다양한 어노테이션을 제공합니다. @OneToMany와 @ManyToOne 어노테이션의 차이에 대해 알아보겠습니다. 두 어노테이션은 엔티티 간의 다대일 관계를 매핑할 때 사용되며, 각각의 특징과 사용법을 알아보겠습니다. @OneToMany 어노테이션 기능: @OneToMany 어노테이션은 한 엔티티가 다른 엔티티와 일대다 관계를 맺을 때 사용됩니다. 컬렉션 속성: @OneToMany 어노테이션을 사용하여 일대다 관계에서 많은 엔티티를 저장하는 컬렉션 속성을 설정할 수 있습니다. 예시: Author 엔티티가 여러 개의 Book 엔티티와 일대다 관계를 맺을 때 @OneToMany 어노테이션을 사용합니다. @ManyToOne .. 2023. 7. 5.