본문 바로가기
공부 생각

12-22

by doriver 2022. 12. 22.

1.

java project랑 mysql 연동( API를 이용한 연동 )

 

JDBC가 API ( JDBC API ) ( Java Database Connectivity )
JDBC클래스는 자바 패키지 java.sql과 javax.sql에 포함되어 있다

클래스의 실제이름은 패키지명을 포함한다

예) String클래스의 실제 이름은 java.lang.String
예) System클래스의 실제 이름 java.lang.System


패키지 : 클래스의 묶음 , 서로 관련된 클래스들끼리 묶어 클래스들을 효율적으로 관리
package java.sql;

같은 이름의 클래스일지라도 서로 다른 패키지에 속하면 패키지 명으로 구별 가능

클래스, 객체

자바 코드들 들어있는곳( 자바에서 코드는 클래스안에 존재해야한다 )
변수, 생성자, 메서드, 등등....

객체는 클래스가 메모리에 구현된 것( 클래스에 정의된 내용대로 메모리에 생성된 것 )

 

2.

DB 커넥션 풀(Connection pool)

WAS와 DB사이의 연결에는 많은 비용이 든다, 이를 보완할 수 있는 방법
DB와 연결된 커넥션을 미리 만들어 놓고, 필요할 때마다 커넥션 풀의 커넥션을 이용하고 반환하는 기법.

 

HikariCP

JDBC의 커넥션 풀 프레임워크이다.
SpringBoot는 커넥션 풀 관리를 위해 HikariCP를 사용

 

3.

Auto-configuration ( 자동-구성 ) 

스프링이 자동으로 컴포넌트들을 구성하는것
자동연결(autowiring)과 컴포넌트 검색(component scanning)을 기반으로 함

자동구성을 할수 없을 경우에 XML구성이나 자바구성이 필요하다.

컴포넌트 검색 -> 애플리케이션의 classpath에 지정된 컴포넌트를 찾은후 ioc컨테이너의 bean으로 생성
자동연결 -> 의존관계가 있는 컴포넌트를 다른 bean에 주입(연결)

 

빈 (Bean)

스프링 IoC 컨테이너가 관리하는 객체

스프링 Bean의 LifeCycle

스프링 IoC 컨테이너 생성 → 스프링 빈 생성 → 의존관계 주입 
~ →  사용  → ~ →스프링 종료 
스프링 빈은 의존관계 주입이 다 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료된다.

IoC ( Inversion of Control, 제어의 역전 )

특별한 객체가 Bean의 생명주기(빈의 생성~DI~제공~소멸)등 모든 Bean에 대한 제어권을 갖는것  

IoC컨테이너

ApplicationContext ( BeanFactory )
빈(bean)을 생성하고 관리( 엮어주고 제공해주기 등등 )
해당 Container내부에서 bean들은 서로 연결된다

DI ( Dependency Injection, 의존성 주입 )

애플리케이션 컴포넌트에서 의존(사용)하는 다른 빈의 생성과 주입(연결)을 IoC컨테이너가 해준다.   
각 클래스 사이에 필요로 하는 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결

AOP(Aspect Oriented Programming, 관점 지향 프로그래밍) 

여러 모듈에서 공통적으로 사용하는 기능능을 모듈화 하여 관리
프록시 패턴(기존 코드 건드리지 않고 새 기능 추가하기)이 AOP구현 방법중 하나

 

 

'공부 생각' 카테고리의 다른 글

input 과 output , 일반적인 원리(법칙)  (0) 2023.03.28
1-6  (0) 2023.01.06
12-3 개발에 대한 생각  (0) 2022.12.03
11-28  (0) 2022.11.28
11-27  (1) 2022.11.27