목록분류 전체보기 (165)
개발 기록
CRUD 코드가 다 만들어져 있어서 불러쓰면 되기 때문에 편하고 생산성이 높음 저장 - jpa.persist(member) 조회 - Member member - jpa.find(memberId) 수정 - member.setName("이름") 삭제 - jpa.remove(member) 필드 변경시 SQL은 JPA가 처리하기 때문에 필드만 추가하면 됨 유지보수하기 좋음 패러다임의 불일치 해결 객체지향 언어와 관계형 데이터베이스 사이의 불일치를 해결, 연결해줌 성능 최적화 기능 같은 트랜잭션 안에서는 같은 엔티티를 반환 (1차 캐시와 동일성 보장) 트랜잭션이 짧기때문에 크게 성능 향상은 안됨 커밋할 때 까지 INSERT SQL을 모은 후 커밋하는 순간 같이 보낸다 지연 로딩 - 객체가 실제로 사용될 때 로딩 ..
코드프레소 Java 웹 개발 체험단 활동 중 처음 시작하는 SQL 프로그래밍 강좌를 기반으로 작성하였습니다. 코드프레소 URL: https://www.codepresso.kr/ SQL 명령어를 이용한 데이터의 변경 1. UPDATE 명령어를 이용한 데이터 수정 UPDATE 기존의 데이터를 수정할 때 사용한다. WHERE 절에 명시한 조건에 해당하는 데이터를 변경한다. 명시하지 않으면 모든 ROW의 값이 변경될 수 있다. UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 2. DELETE 명령어를 이용한 데이터 삭제 DELETE 기존 데이터를 삭제할 수 있다. WHERE 절에 명시한 조건에 해당하는 데이터를 삭제한다..
스코프-빈이 존재할 수 있는 범위 스코프 종류 싱글톤 : 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입, 초기화까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프 ( 종료 메서드 호출 x ) 스프링 컨테이너에 요청할때 마다 새로 생성 ( 빈을 조회할 때 생성되고 초기화 메서드도 실행 ) 웹 관련 스코프( 웹 환경에서만 동작 / 스코프의 종료 시점까지 관리 ) request : 웹 요청이 들어오고 나갈때 까지 유지 session : 웹 세션이 생성되고 종료될 때까지 유지 application : 웹의 서블릿 컨텍스와 같은 범위로 유지 프로토타입과 싱글톤 함께 사용시 발생하는 문제 - 싱글톤 빈..
코드프레소 Java 웹 개발 체험단 활동 중 Spring Boot를 활용한 웹 개발 초급 강좌를 기반으로 작성하였습니다. 코드프레소 URL: https://www.codepresso.kr/ Spring Boot와 MyBatis의 연동 Data Access Layer의 개념 Database에 접근하여 데이터 저장, 조회 등을 수행하는 역할 서비스와 데이터베이스 사이의 추상화 된 계층 데이터에 접근하기 위한 기술 JDBC ( Java Database Connectivity ) - database에 접그나기 위한 java의 표준 API JDBC Template - JDBC를 효율적으로 사용하기 위한 Spring API SQL Mapper - SQL과 Java객체를 매핑하는 기술 ORM ( Object Rela..
코드프레소 Java 웹 개발 체험단 활동 중 클라우드 컴퓨팅 첫 걸음 강좌를 기반으로 작성하였습니다. 코드프레소 URL: https://www.codepresso.kr/ 클라우드 컴퓨팅 핵심 개념 클라우드 컴퓨팅 개요 -클라우드 도입은 기업으로 하여금 사업의 본질에 집중할 수 있게 함 -기업은 경영의 효율성을 극대화 하기 위해 클라우드를 도입 클라우드 컴퓨팅 개념과 장점 클라우드 컴퓨팅이란 인터넷을 통해 가상화 된 컴퓨터의 IT 리소스를 제공하는 것 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술을 의미 특징 컴퓨팅 자원을 원할 때, 원하는 만큼 사용 (수요에 따라 자원을 탄력적으로 일치 가능) 사용 한 만큼만 요금을 지불 클라우드 컴퓨팅의 주요 특..
스프링 빈의 이벤트 라이프 사이클 (싱글톤의 경우) 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용(애플리케이션 동작) -> 소멸전 콜백 -> 스프링 종료 *스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해 초기화 시점을 알려주는 기능 제공 *방법은 여러가지이지만 애노테이션을 주로 사용 //의존관계 주입 완료 후 실행 메소드 @PostConstruct public void init() { connect(); call("초기화 연결 메세지"); } //컨테이너 종료시 호출 @PreDestroy public void close() { disconnect(); } * 객체 생성시 생성자에서 처리하면 되지 않을까?! ( 의존관계 주입을 다 생성자 주입..
보호되어 있는 글입니다.
동적으로 빈을 선택해야 할때 map이나 list으로 받아서 사용하면 편리함 @RequiredArgsConstructor static class DiscountService { private final Map policyMap; private final List policies; public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); return discountPolicy.discount(member, price); } } ex ; 가격 정책 두 가지를 고객이 선택해서 사용할 수 있을때 map 에 다 넣어서 선택한 정책을 받아와 그..