본문 바로가기
728x90

자바7

[Springboot] JPA적용 spring과 Database를 연결하는 방법으로 현업이나 토이프로젝트에서 mybatis, JPA 두가지를 많이 사용하게됩니다. 각자 장단점이 있는데 오늘 주제인 JPA는 데이터베이스의 테이블 구조를 class로 정의할 수 있는 장점이 있습니다. class로 정의하면 JPA가 알아서 Database에 테이블을 만들어주거나 수정하게 됩니다. 또한 Repository라는 클래스를 상속받으면 findBy , findAll 처럼 미리 정의된 메소드로 SQL query를 요청할 수 있고 결과도 리턴받을 수 있습니다. @Transactional(readOnly = true) public interface UserDataRepo extends JpaRepository { public UserEntity findByE.. 2021. 5. 2.
[Java Study] 14일차 제네릭(generic) 학습할 것 제네릭 사용법 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 제네릭 메소드 만들기 Erasure Generic 넓게보면 숨쉬듯 생겨나는 버그를 어느정도 방지해주는 역할을 하게 됩니다. 이런 행위가 가능한 이유는 자바를 사용하면서 데이터의 타입 때문에 생기는 버그에 대해 강력하게 방지할 수 있습니다. 이는 미리 받을 데이터의 타입을 확인하기 때문에 가능합니다. 제너릭을 사용하는 이유로 oracle에선 3가지를 공유하고 있습니다. 컴파일 타임에 더욱 강력한 유형 검사 런타임전에 컴파일 단계에서 오류를 발생시켜 런타임에서의 오류를 감소 시킵니다. cast 제거 그동안 타입을 변환할때 casting을 사용했습니다. List list = new ArrayList(); list.add("hello").. 2021. 2. 22.
[Java Study] 13일차 I/O [input/output] 학습할 것 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O I/O Stream I/O Stream은 Input source 또는 output 지점을 나타낸다. 또한 Stream은 디스크 파일, 장치, 프로그램, 메모리 등 다양한 소스와, 관련 대상을 나타낼 수 있습니다. Stream은 simple byte, primitive type, objects 등의 다양한 데이터를 지원하며 일부 Stream은 단순.. 2021. 2. 13.
[Java Study] 12일차 Annotation 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 Annotations meta data의 일종, 주석과 비슷한 관계로 미리 약속된 규율이 없었다면 컴파일러는 아무행동도 하지 않는 코드로 생각됩니다. Annotation은 Java SE 8 부터 활용되고 있으며 활용법은 다음과 같습니다. 컴파일러에게 정보를 주는 역할 : 컴파일러가 에러나 경고를 탐지하는데 사용될 수 있음 컴파일 시간, 배포 시간처리 : 소프트웨어 툴이 annotation으로 코드를 생성하거나 XML을 생성할 수 있음 런타임 처리 : 몇몇 annotation은 런타임 중에 annotation을 검사하고 활용할 수 있습니다. 애노테이션 정의하는 방법 기본형태 @Entity, @{N.. 2021. 2. 4.
728x90