🗂️ Study

빈(Bean) Spring이 관리하는 객체Spring IoC 컨테이너'Bean'을 모아둔 컨테이너Spring Bean을 등록하는 방법@Component를 Bean으로 등록하려고 하는 클래스 위에 작성Bean의 이름은 클래스의 앞 글자만 소문자로 변경하여 저장이때 제대로 Bean이 되었다면 커피콩 모양의 Bean 아이콘 생성 @ComponentScan Spring 서버가 뜰 때 @ComponentScan에 설정해 준 packages 위치와 하위 packages 들을 전부 확인하여 @Component가 설정된 클래스들을 ‘Bean’으로 등록해줌. Spring 'Bean' 사용 방법 @Autowired 필드 위에 @AutowiredSpring에서 IoC 컨테이너에 저장된 memoRepository ‘Bean’..
IoC - 제어의 역전 Inversion of Control의 약자제어의 역전은 기존의 개발 방식에서 개발자가 직접 제어 흐름을 제어하는 것이 아니라, 외부의 프레임워크나 라이브러리가 제어 흐름을 대신하게 되는 것 프로그램의 제어 흐름이 뒤바뀜 클래스 간의 결합을 느슨하게 해 테스트와 유지 관리를 더 쉽게 하는 설계(design) 원칙DI - 의존성 주입Dependency Injection의 약자A 객체가 B 객체의 메서드를 필요로 할 때 A클래스 안에 B클래스의 생성자를 사용해 B의 인스턴스를 만들어 사용하는 대신, 의존성 주입은 다음 세 가지 방법 중 하나를 써서 B클래스가 A클래스에 주입되도록 함.생성자 주입Setter 주입인터페이스 주입강한 결합의 문제점Controller 5 개가 각각 Servi..
Controller클라이언트의 요청을 받음요청에 대한 로직 처리는 Service에게 전담Request 데이터가 있다면 Service에 같이 전달Service에서 처리 완료된 결과를 클라이언트에게 응답Service사용자의 요구사항을 처리 ('비즈니스 로직') 함따라서 현업에서는 서비스 코드가 계속 비대해지고 있음DB 저장 및 조회가 필요할 때는 Repository에게 요청- Service를 이해하기 위한 큰 틀1. Client가 Request를 보냄(Ajax, Axios, fetch등..)2. Request URL에 알맞은 Controller가 수신 받음 (@Controller ,@RestController)3. Controller 는 넘어온 요청을 처리하기 위해 Service 를 호출4. Service는..
1. JDBC의 등장 배경애플리케이션 서버와 DB 연결 문제애플리케이션 서버에서 DB에 접근하기 위해서는 여러 가지 작업이 필요하다.DB에 연결하기 위해 커넥션을 생성하고, SQL을 작성한 후 커넥션을 통해 SQL을 요청하고, 요청한 SQL에 대한 결과를 응답받는다.DB 교체 시 문제점기존에 MySQL 서버를 사용하다가 PostgreSQL 서버로 변경한다면 커넥션을 연결하는 방법, SQL을 전달하는 방법, 결과를 응답받는 방법 등이 다를 수 있다.따라서 애플리케이션 서버에서 작성했던 DB 연결 로직들을 전부 수정해야 하는 불편함이 있다.JDBC의 등장이러한 문제를 해결하기 위해 JDBC(Java Database Connectivity) 표준 인터페이스가 등장하였다.JDBC는 자바 애플리케이션에서 데이터베..
JOIN JOIN은 나누어진 테이블을 하나로 합치기 위해 데이터베이스가 제공하는 기능JOIN 은 ON 이라는 키워드를 통해 기준이 되는 컬럼을 선택하여 2개의 테이블을 합쳐 줌JOIN을 할 때에는 적어도 하나의 컬럼을 서로 공유하고 있어야 하기 때문에 테이블에 외래 키가 설정 되어 있다면 해당 컬럼을 통해 JOIN을 하면 조건을 충족할 수 있음INNER JOIN테이블 데이터 간 교집합서로 연관된 내용만 검색하는 방법OUTER JOIN한 쪽에는 데이터가 있고 다른 한 쪽에는 데이터가 없는 경우, 데이터가 있는 쪽의 내용을 전부 출력하는 방법LEFT JOIN왼쪽 테이블을 기준으로 조인RIGHT JOIN오른쪽 테이블을 기준으로 조인FULL JOINLEFT JOIN 결과와 OUTER JOIN 결과를 합친 결과
제약 조건 AUTO_INCREMENT : 컬럼의 값이 중복되지 않게 1씩 자동으로 증가하게 해줘 고유번호를 생성CREATE TABLE 테이블이름( 필드이름 필드타입 AUTO_INCREMENT, // id bigint AUTO_INCREMENT, ...); NOT NULL : 해당 필드는 NULL 값을 저장할 수 없도록 함CREATE TABLE 테이블이름( 필드이름 필드타입 NOT NULL, ...); UNIQUE : 해당 필드는 서로 다른 값을 가져야만 함CREATE TABLE 테이블이름( 필드이름 필드타입 UNIQUE, ...);PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가짐CREATE TABLE 테이블이름( ..
litlight
'🗂️ Study' 카테고리의 글 목록 (3 Page)