몰입하며 나아가는 개발이란

Framework 7

OSIV란?

OSIV Open-Session-In-View OSIV? OEIV? JPA에서는 Open EntityManager In View, OEIV 라고하며, 하이버네이트에서는 OSIV라고 부르지만 같은 기능이다. OSIV 전략은 트랜잭션 시작시 최초 데이터베이스 커넥션 시작 시점부터 API응답이 끝날 때(View) 까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지한다. 즉, View 레이어에서도 지연로딩을 사용할 수 있다. 스프링이 제공하는 OSIV는 서블릿 또는 인터셉터에서 적용이 가능하며, OSIV사용시 영속성 컨텍스트는 View 레이어까지 지속되지만 영속상태의 객체를 수정할경우에는 트랜잭션 안에서만 가능하다. OSIV 사용시 spring.jpa.open-in-view = true 설정후 어플리케이션을 구동..

Framework/JPA 2022.05.03

Spring Data JPA

Spring Data JPA 스프링 데이터 JPA JavaConfig 설정 @Configuration @EnableJpaRepositories(basePackages = "exmaple.project.repository") Spring Boot 사용시 생략가능. (@SpringBootApplication 해당패키지와 하위 패키지에서 자동으로 인식함.) 스프링 데이터 JPA 기반 Repository import org.springframework.data.jpa.repository.JpaRepository; public interface MemberRepository extends JpaRepository { } JpaRepository 인터페이스는 제네릭은 으로 설정 할 수 있다. 공통 CRUD를 제공한..

Framework/JPA 2022.05.02

Spring Security

Spring Security 스프링 시큐리티(Spring Security)란? 스프링 시큐리티는 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크 입니다. 스프링 시큐리티에서는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있습니다. 필터(Filter)란? Http 요청과 응답을 변경할 수 있는 재사용 가능한 코드이며, 서블릿 2.3규약에서 새롭게 추가되었습니다. 필터는 객체의 형태로 존재하며 클라이언트로부터 오는 요청과 최종자원(서블릿/JSP/기타) 사이에 위치하여 클라이언트의 요청 정보를 알맞게 변경할 수 있으며, 또한 필터는 최종 자원과 클라이언트로 가는 응답 사이에 위치하여..

Framework 2022.04.04

JNA(Java Native Access)란?

JNA(Java Native Access)란? JNI(Java Native Interface)를 API로 구현해 놓은 JAVA 라이브러리 입니다. JNI는 Java 에서 native 영역(c, c++)으로 들어가 호출을 하거나 또는 native에서 java로 호출하는 interface로 java에서 c또는 c++언어로 만든 라이브러리 또는 솔루션을 JAVA에서 바로 사용하게 해줍니다. 즉, JNA는 JNI에 번거로운 부분을 쉽게 해준 API입니다. Spring 또는 Spring Boot JNA 적용 방법 pom.xml에 dependency 추가. net.java.dev.jna jna 4.1.0 net.java.dev.jna jna-platform 4.1.0 windows registry 읽기 쓰기 삭제 ..

Framework 2022.03.31

Javadoc 작성방법

Javadoc Javadoc의 사용법을 살펴보기전에 실제로 Javadoc로 생성된 문서를 한번 살펴보는 것을 추천합니다. https://docs.oracle.com/javase/8/docs/api/ 위 링크는 실제 javadoc으로 작성된 html 입니다. javadoc은 html을 따로 작성하지 않고도 소스 코드에 작성된 코멘트를 따라 문서를 만들 수 있게 됩니다. 또한 Javadoc에 따른 형식으로 작성해 두면 일반적인 주석으로 읽을 수 있을 정도로 아무런 위화감 없이 쉽고 간단한 형식으로 되어있습니다. Javadoc의 대상이 되는 주석 작성방법 Javadoc을 이용하는 경우에도 Java 소스 코드에 작성하는 것과 차이가 없기 때문에 java 규칙을 따르지만, Javadoc 문서 생성의 대상으로하는 ..

Framework 2022.03.30

Logback 이란?

Logback Logback이란? Logback은 Java에서 가장 많이 사용 되었던 로깅 라이브러리인 log4j의 후속버전이며, log4j를 설계한 Ceki Gulgu에 의해 설계되었습니다. logback은 새롭게 작성된 logger가 아니라, 오랫동안 검증된 "log4j"의 아키텍쳐 기반으로 재작성 되었으며, 또한 "SLF4J"를 지원하기 때문에 마음에 들지 않으면 언제든지 다른 로거로 스위칭이 가능하게 구현되어있습니다. 특징 및 장점(log4j 대비) -Logback에 SiftingAppender는 Filter의 기능화 유사하면서 다른 기능을 제공합니다. 로그파일을 특정 주제별로 분류 하며, HTTP Session별로 파일을 저장한다거나 사용자별로 별도의 로그파일을 저장 할 수 있게 해줍니다. -L..

Framework 2022.03.29

Javadoc이란? Javadoc 사용방법

Javadoc이란? Javadoc은 JDK와 함께 패키지로 제공되는 도구 입니다. JDK가 설치 되어있다면 Javadoc을 사용할 수 있으며, Java 소스 코드의 코드 문서를 생성하는데 도움을 주는 도구 입니다. Javadoc의 사용법을 살펴보기전에 실제 Javadoc으로 생성된 문서를 한번 살펴보는 것을 추천합니다. https://docs.oracle.com/javase/8/docs/api/ 위 링크는 실제 javadoc으로 작성된 html 입니다. javadoc은 html을 따로 작성하지 않고도 소스 코드에 작성된 코멘트를 따라 문서를 만들 수 있게 됩니다. 또한 Javadoc에 따른 형식으로 작성해 두면 일반적인 주석으로 읽을 수 있을 정도로 아무런 위화감 없이 쉽고 간단한 형식으로 되어있습니다...

Framework 2022.03.28