분류 전체보기

QueryMethod - 복잡한 WHERE 조건의 쿼리를 만드는 방법 1. Query return types 2. Query subject keywords 3. Query predicate keywords 출처 : https://docs.spring.io/spring-data/jpa/docs/current/reference/html/ Spring Data JPA - Reference Documentation Example 109. Using @Transactional at query methods @Transactional(readOnly = true) interface UserRepository extends JpaRepository { List findByLastname(String lastname)..
JpaRepository를 보면 findById와 getOne두가지의 비슷한 기능을 하는 메서드가 존재한다. 먼저 시그니처를 살펴보자. T getOne(ID id); Optional findById(ID id); 둘다 Id를 파라미터로 받도록 되어있고, Id에 매칭되는 객체 하나만 가져오는데 어떤 차이가 있어서 다르게 제공하고 있는걸까? 단순히 Optional로 결과를 받는 차이가 있는것처럼 보이지만, 실제로는 더 중요한 차이점이 있다. getOne Returns a reference to the entity with the given identifier. Depending on how the JPA persistence provider is implemented this is very likely to..
1. Spring Data JPA 사용 - CRUD 처리를 위한 공통 인터페이스 특징 Spring 및 JPA 기반의 리포지토리 구축을 위한 정교한 지원 Querydsl 술어 지원 및 이에 따른 유형 안전 JPA 쿼리 도메인 클래스의 투명한 감사 페이지 매김 지원, 동적 쿼리 실행, 맞춤형 데이터 액세스 코드 통합 기능 @Query부트스트랩 시간 에 주석 이 달린 쿼리의 유효성 검사 XML 기반 엔티티 매핑 지원 을 도입하여 JavaConfig 기반 저장소 구성 @EnableJpaRepositories. 출처 : https://spring.io/projects/spring-data-jpa Spring Data JPA Spring Data JPA, part of the larger Spring Data fa..
Persistence Framework (데이터 영속성을 부여하는 계층) 에서 사용하는 프레임워크로 데이터베이스와 연동되는 시스템을 빠르게 개발 및 안정적 구동 ex) 종류로는 SQL Mapper(MyBatis) 와 ORM(Hibernate) * 영속성(Persistence) : 데이터가 프로그램이 종료되어도 사라지지 않고 어떤 곳에 저장되는 것(자바에서는 JDBC의 역할) 1. ORM(Object-Relational Mapping) 객체(Object)와 데이터베이스(DB테이블)와의 사이의 관계를 연결시켜주는 것(=호환되지 않은 데이터를 변환하는 프로그래밍 기법) CRUD 관련 메소드를 사용하면 자동으로 SQL을 만들어 개발자가 반복적인 SQL을 직접 작성하지 않아도 되고, DBMS에 종속적이지 않다. ..
Jackson의 ObjectMapper Spring boot에 기본 내장 텍스트(String) 형태의 JSON -> Object, Object -> 텍스트(String) 형태의 JSON으로 변경해주는 라이브러리 com.fasterxml.jackson.care 구글의 Gson dependency 가져오기 : https://mvnrepository.com/ 에서 원하는 라이브러리 검색 해서 Maven이나 gradle로 가져오기 A객체 import com.fasterxml.jackson.annotation.JsonProperty; public class CarDto { private String name; @JsonProperty("carNum") private String carNum; @JsonProper..
AOP Aspect Oriented Programming (=관점지향 프로그램) *횡단 관심사의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그램잉으로 코드를 수정하지 않는 대신 기존의 코드에 추가 동작(advice)을 추가함으로써, 어느 코드가 포인트컷(Pointcut) 사양을 통해 수정되는지를 따로 지정하여 비즈니스 로직에 핵심적이지 않은 동작들을 프로그램에 추가할 수 있게 한다(Logging, Security, Transaction) MVC 웹 어플리케이션은 Web Layer - Business Layer - Data Layer 로 정의 Web : REST API 를 제공하며, Client 중심의 로직 적용 Business : 내부 정책에 따른 Logic를 개발하며, 주로 해당 부분을 개..
IoC : 스프링 컨테이너가 자바 객체를 생성 및 관리 객체 제어의 권한이 스프링에게 있어 제어의 역전(=역제어) 싱글톤 형태로 스프링 컨테이너에서 관리 * 스프링 컨테이너(IoC 컨테이너) = ApplicationContext 1) 스프링 컨테이너는 @Configuration이 붙은 클래스를 설정정보르 토대로 @Bean이 적힌 메소드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다. 2) 스프링 컨테이너에 등록된 객체를 Spring Bean이라고 함 3) 스프링 컨테이너는 다양한 형식의 설정정보를 받아드릴 수 있게 유연하게 설계됨(자바코드,XML,Grovy 등) 4) BeanDefinition이라는 인터페이스가 빈 설정 메타정보 기반으로 스프링 빈을 생성하며 스프링 컨테이너는 여기에 의존한다...
의존성 주입 : 객체를 직접 생성(new)하는게(=new 클래스 에 의존한다) 아니라 외부에서 생성한 후 주입(setter(), 생성자)을 시켜주는 방식 외부에서 생성된 객체를 setter(), 생성자를 통해 A라는 객체에 주입(외부에서 주입) 주입 방법 1. 생성자 주입 방식 생성자가 하나일 경우 별도의 어노테이션이 필요하지 않다 * 권장하는 방법으로 NullPointerException을 방지한다 > 객체 생성 시점에 무조건 주입해야 하므로 *BeanFactory에 들어있는 지 검사하여 Null이 발생시 Service,Bean 생성이 실패하여 스프링 동작이 실패하게 된다. * 빈을 생성하고 의존관계를 설정하는 기능을 담당하는 가장 기본적인 IOC 컨에티너이자 클래스/ ApplicationContext..
defxyj
'분류 전체보기' 카테고리의 글 목록 (17 Page)