목록2023/02/21 (4)
도찐개찐
Mapper XML과 DAO Interface를 연결해주는 MapperFactoryBean을 사용하지 않고, SqlSession을 DAOImpl 클래스에 의존성을 주입(DI)해 사용해보자. MapperFactoryBean은 **DaoImpl 클래스가 필요 없는 대신 DAO 인터페이스가 늘어날 때마다 root-context.xml에 bean을 등록해줘야 하는 반면에 SqlSession을 **DaoImpl 클래스에 DI해 사용하면 bean 객체를 추가해주지 않아도 되지만 DAO 인터페이스를 구현하는 DAOImpl 클래스를 필요로 한다. root-context.xml을 열어 MapperFactoryBean 객체를 추가해줬던 코드를 주석 처리한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15..
들어가며 transient키워드를 이해하기 위해서는 Serialize에 대한 이해가 필요합니다. https://dev-truly.tistory.com/entry/JAVA-%EC%A7%81%EB%A0%AC%ED%99%94Serialize Java transient이란? transient는 Serialize하는 과정에 제외하고 싶은 경우 선언하는 키워드입니다. 왜(Why) 필요할까요? 패스워드와 같은 보안정보가 직렬화(Serialize) 과정에서 제외하고 싶은 경우에 적용합니다. 다양한 이유로 데이터를 전송을 하고 싶지 않을 때 선언할 수 있습니다. Example Model class Member implements Serializable { private String name; private String ..
직렬화(Serialize)란? 직렬화(Serialize) 자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술. JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술 역직렬화(Deserialize) byte로 변환된 Data를 원래대로 Object나 Data로 변환하는 기술을 역직렬화(Deserialize)라고 부릅니다. 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태. 직렬화(Serialize) 시작하기 직렬화(Serialize) 조건 java.io.Serializable 인터페이스를 상속받은 객체는 ..
Rest Api 애플리케이션 개발에 있어 API 스펙에 대한 문서작업은 적지 않은 시간을 요구합니다. 또한 운영을 하게 되면서 지속적으로 문서를 업데이트하는 것 또한 많은 리소스가 필요합니다. 이러한 시간을 단축시키기 위해 문서 자동화 프레임 워크를 이용하는 방법이 있습니다. 대표적으로 Swagger, Spring REST Docs가 있는데 그중 Swagger 적용 방법에 대해 알아보겠습니다. 1. Dependency 설정 Maven io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 Gradle // https://mvnrepository.com/artifact/io.springfox/springfox-swagger..