본문 바로가기

Spring13

JPA가 뭘까? JPA란? JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. 즉, 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크다. 대표적으로 Hibernate가 있다. ORM이 뭔데? Object-relational mapping(객체 관계 매핑) 객체는 객체대로 설계 , RDB(Relational DataBase, 관계형 데이터베이스)는 RDB대로 설계 ORM 프레임워크가 중간에서 매핑 ORM을 왜 사용할까? SQL문이 아닌 Method를 통해 DB를 조작하여 개발자는 객체 모델을 이용하여 비즈니스 로직에만 집중할 수 있다. 객체를 이용하여 개발하기 때문에 객체 지향적 코드 작성이 가능하고 생산성이 증가한다. 데이터베이스가 교체되어도.. 2022. 9. 29.
Spring-OOP와 스프링 스프링이란!? - 자바 언어 기반의 프레임워크 - OOP를 도와주는 프레임워크 OOP가 뭔데요? Object Oriented Programing의 줄임말이다. 객체 지향 프로그래밍을 뜻하며 객체의 관점에서 프로그래밍한다. 객체는 메시지를 주고받는 협력을 통해 데이터를 처리한다. 블록을 조립하거나 부품을 갈아 끼우듯이 컴포넌트를 쉽고 유연하게 변경하여 대규모에 많이 사용된다. 좋은 객체 지향 프로그래밍 다형성 -클라이언트를 변경하지 않고 서버의 구현 기능을 유연하게 변경한다. -클라이언트 = 운전자, 서버 = 자동차 => 자동차가 바뀌어도 운전자는 자동차를 운전할 수 있다. 운전자는 운전만 할 줄 알면 자동차 내부 구조나 동작 원리 등을 몰라도 운전 가능하다. 역할과 구현의 분리 아주아주 중요한 내용! 클.. 2022. 9. 25.
AOP(Aspect Oriented Programming) AOP가 무엇일까? 관점 지향 프로그래밍이라고 불린다. 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 그 관점을 기준으로 가각 모듈화한다. *모듈화란? 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것 AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면 어떻게 해야 하나? 이렇게?? 땡~! @Transactional public class MemberService { /** * 회원가입 */ public Long join(Member member) { // 시간 측정하는 기능 추가 long start = System.currentTimeMillis(); try { validateDuplicateMember(member); memberRepository.save(member).. 2022. 9. 25.
@Component와 @Configuration @Configuration의 선언부를 보면 @Component가 정의되어 있다. @Component 개발자가 직접 작성한 클래스를 Bean으로 등록하고자 할 경우에 사용 @Controller, @Service, @Repository 등의 어노테이션에서도 확인할 수 있다. 개발자가 직접 제어 가능 @Configuration 외부라이브러리 또는 내장 클래스를 Bean으로 등록하고자 할 경우에 사용 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 사용한다. 개발자가 직접 제어 불가능 2022. 9. 25.
반응형