본문 바로가기

java8

@SpringBootTest 를 활용한 Spring Boot 테스트 기법 @SpringBootTest 는 Spring Boot 애플리케이션의 테스트를 위해 사용되는 어노테이션이다. SpringBoot 테스트 환경을 설정하고, 전체 애플리케이션 컨텍스트를 로드하는 데 사용된다. @SpringBootTest를 사용하면, 통합 테스트(integration tests)에서 애플리케이션의 실제 동작에 가깝게 모의할 수 있다. @SpringBootTest 는 복잡한 통합 테스트 관해서는 유용하지만, 전체 컨텍스트를 로드하는 데 시간이 걸릴 수 있기 때문에, 간단한 단위 테스트에는 @WebMvcTest 나 @DataJpaTest 와 같은 더 특화된 어노테이션을 사용하는 것이 좋다. (즉, 전체 애플리케이션 컨텍스트를 로드하는 특성 때문에 단위 테스트보단 느릴 수 있어도, 애플리케이션의 다.. 2024. 3. 25.
Lombok 의 @Data 어노테이션 : Java 코드 간단하게 만들기 @Data 는 Lombok 라이브러리에서 제공하는 어노테이션으로, Java 클래스에 대한 getter, setter, toString(), equals(), hashCode() 메소드를 자동으로 생성해준다. @Data 어노테이션은 클래스 선언 시 많은 표준 Java 메소드들을 간단하게 작성할 수 있게 해주어서, 코드의 양을 줄여주고 가독성을 향상시킨다. 주요 기능 >> Getter, Setter 자동 생성: 모든 필드에 대한 게터와 세터 메소드를 자동으로 생성한다. toString() 메소드 자동 생성: 클래스의 모든 필드를 포함하는 toString() 메소드를 생성한다. equals() 와 hashCode() 메소드 자동 생성: 객체의 동등성(equality)을 비교하는 euqlas() 메소드와 객체의.. 2024. 3. 24.
Java와 Python 결합하기: ProcessBuilder를 이용한 외부 프로세스 실행 방법 ProcessBuilder 는 Java에서 외부 프로세스를 생성하고 관리하기 위한 클래스이다. java.lang 패키지에 속해 있고, 운영 체제의 명령을 실행하거나 별도의 프로세스로 프로그램을 실행하는 데 사용된다. ProcessBuilder를 사용하면 프로세스의 작업 디렉토리, 환경 변수 및 리다이렉션 설정과 같은 세부 사항을 제어할 수 있다. start() 메서드를 호출하여 프로세스를 시작한다. 이 메서드는 Process 객체를 반환하여 생성된 프로세스를 나타낸다. 프로세스의 출력 버퍼가 가득 차면 프로세스가 멈출 수 있어서 적절히 출력을 처리해야 한다. 예시 >> ProcessBuilder builder = new ProcessBuilder("ls"); Process process = builder.. 2024. 3. 23.
Spring Security 소개 - 핵심 기능과 기본 구현 Spring Security 는 Spring 프레임워크의 일부로, 주로 Java 애플리케이션에서 사용되며, 웹 보안과 메소드 수준 보안을 모두 제공하는, 애플리케이션 보안을 위한 인증 및 권한 부여 프레임워크다. (세션 관리, URL 접근 제어, CSRF 방지 등의 기능을 제공한다) Spring Security 는 유연하고 확장 가능해서, 복잡한 보안 요구 사항을 충족시킬 수 있다. 주요 기능 >> 인증(Authentication): 사용자가 누구인지 확인한다. 예를 들어 사용자 이름과 비밀번호를 통해 사용자를 인증할 수 있다. 권한 부여(Authorization): 인증된 사용자가 특정 리소스에 접근하거나 작업을 수행할 수 있는 권한이 있는지 결정한다. 폼 기반 인증, LDAP, OAuth2 등 다양한.. 2024. 3. 23.