#1 IoC 컨테이너스프링 에플리케이션에서는 오브젝트의 생성, 관계 설정, 사용 제거 등의 작업을 코드가 아닌 독립된 컨테이너가 담당한다. 컨테이너가 오브젝트 제어권을 가지고 있기 때문에 IoC (Inversion of Control) 라고 부른다.스프링에서는 IoC 담당 컨테이너를 빈 팩토리 / 애플리케이션 컨텍스트라고 부르기도 한다. IoC 컨테이너를 이용한 애플리케이션 생성ApplicationContext 구현 클래스의 인스턴스를 만듦으로써 간단하게 IoC 컨테이너를 만들 수 있다.StaticApplicationContext ac = new StaticApplicationContext();StaticApplicationContext는 ApplicationContext 인터페이스를 구현한 클래스다...
전체 글
테이블에 계층형 데이터가 존재하는 경우 계층형 질의를 통해 데이터를 조회할 수 있다.계층형 데이터: 동일 테이블에 상위/하위 데이터가 포함되어 있는 데이터 (ex: 사원-관리자) WITH 구문: 서브쿼리에 이름을 붙여 사용할 수 있도록 하는 명령어CTE = Common Table Expression 예시 코드 1WITH RECURSIVE CTE(member_id, manager_id, lvl)AS ( SELECT member_id, manager_id, 0 AS lvl FROM MEMBER WHERE manager_id IS NULL // 최상위 레벨의 경우 lvl을 0으로 지정 UNION ALL // 중복 제거 없이 추가 SELECT M.member_id,..
집합 연산자란?두 개 이상의 테이블에서 JOIN을 사용하지 않고 연관 데이터를 조회하는 방법 중 하나두 테이블의 컬럼 수, 컬럼의 데이터타입이 일치해야 한다. (상호 호환 가능)정렬 기능을 제공하는 경우에도 최종적으로 정렬하는 데에 ORDER BY 를 사용해야 한다. UNION - 합집합중복된 데이터를 제거(DISTINCT)하고 정렬SELECT * FROM TABLE1UNIONSELECT * FROM TABLE2; UNION ALLUNION과 같은 기능을 수행하나 중복 제거 및 정렬을 하지 않음SELECT * FROM TABLE1UNION ALLSELECT * FROM TABLE2; INTERSECT - 교집합두 테이블의 겹치는 부분을 추출, 중복된 결과를 제거SELECT A, B FROM TABLE..

#0 git의 3가지 영역Working Directory: 직접 코드를 작성하는 공간. 코드를 생성/수정/삭제하는 공간이다.Staging Area: 버전이 될 코드가 존재하는 공간. working directory에서 버전으로 만들고 싶은 파일을 저장하는 임시 공간이다.Repository: 버전이 저장되어 있는 공간. git 업로드 순서코드 작성 (수정)git addgit commitgit push #1 git 명령어git 초기 설정# 현재 위치에서 로컬 저장소 생성$ git init# 깃 환경에서 사용자 이름을 지정$ git config --global user.name "[사용자명]"# 깃 환경에서 사용자 이메일을 지정$ git config --global user.email "[사용자이메일]"# ..

01 About Spring 1. 스프링 프레임워크 1) 스프링 프레임워크란? 자바 언어를 이용한 개발을 편리하게 만들어주는 오픈소스 애플리케이션 프레임워크 + 웹 프레임워크란? 웹 서비스에 필요한 기능들을 제공해주는 다양한 도구들의 모임 2) 스프링 프레임워크의 핵심 가치 애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있도록 하는 것 개발자의 수준과 실력에 상관 없이 일정 수준의 품질을 기대할 수 있고, 담당자가 도중에 바뀌더라도 유지보수에 관한 위험이 낮다. 많은 기능을 제공/탑재하고 있기 때문에 오버헤드가 발생할 수 있고, 기능을 익히기 위해 많은 노력과 시간이 필요하다. 2. 스프링 프레임워크의 특징 1) POHO (Plain Old Java Object) ..
다대일(N:1) 단방향 매핑 @ManyToOne ex) 댓글 N : 글 1 Comment.java @Entity @Getter @Setter @NoArgsConstructor @Table(name = "comment") public class Comment { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="COMMENT_ID") private Long id; private String content; @Temporal(TemporalType.TIMESTAMP) private Date updatedDate; // Comment 클래스가 Post 객체를 참조 @ManyToOne// N:1 @JoinColumn(name = "pos..