본문 바로가기

Java20

[Spring] Maven? 메이븐 - Dependency Management(의존성 관리)의 역할 - 애플리케이션 개발에 있어서 프로젝트를 빌드하고 필요한 많은 라이브러리를 일괄적으로 관리주는 도구 ​ 사용하는 이유 - 개발자들이 편하게 서로 같이 협력하면서 일을 할 수 있도록 개발이 됨 1. 프로젝트를 진행하는데 라이브러리를 사용 2. 사용하는 라리브러리 수가 몇개 안되면 그냥 jar을 추가해서 사용하면 되지만, 프로젝트의 규모가 커질수록 라이브러리의 관리가 힘들어짐 3. 개발자들이 모두 같은 환경에서 개발을 해야하는데 카톡이나 메일로 라이브러리를 보내주면서 계속 import 시켜주는 비효율적인 행위보다는 pom.xml만 공유하는게 효율적 메이븐 연습 프로젝트 생성 후 프로젝트에서 마우스 우클릭하면 이렇게 나온다 Configur.. 2021. 5. 23.
[Spring] IoC (제어 역전, Inversion Of Control) / DI (의존성 주입, Dependency Injection) 1. 제어 역전 (IoC: Inversion Of Control) - 인스턴스를 제어하는 제어권이 역전된다는 것 (메서드나 객체의 호출 작업을 개발자가 결정하는 것이 아니라 외부에서 결정되는 것을 의미한다) (컴포넌트를 구성하는 인스턴스 생성과 의존관계 연결처리를 스프링 IoC 컨테이너에 위임한다) - 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어 필요에 따라 스프링에서 사용자의 코드를 호출한다 - 애플리케이션의 느슨한 결합을 도모한다 -> 어떤 객체가 사용할 객체(의존관계인 객체)를 직접 선언하여 사용하는 것이 아니라, 어떤 방법을 사용하여(ex. 생성자) 주입받아 사용하는 것 블럭 끼워넣기 개발이라고도 함 2. 의존성 주입 (DI: Dependency Injection) - 제어 역전이 발생할 .. 2021. 5. 20.
[Spring] 스프링 프레임워크(Java Spring Framework)란? 1. 스프링 프레임워크 개요 로드 존슨 ( Rod Johnson ) 이 자신의 Java 개발 경험과 노하우를 기반으로 저술한 책 《Export One-on-One: J2EE Design and Development》에서 스프링 프레임워크(Spring Framework)의 전신이 되는 초기의 프레임워크를 설명했는데 추후에 핸재의 개발 리더인 유겐 할러(Juergen Hoeller) 와 얀 카로프(Yann Caroff)가 합류하면서 J2EE의 겨울 뒤에 봄이온다는 의미로 얀 카로프가 "Spring Framework"로 명칭을 제안했다 스프링 프레임워크라는 이름으로 아파치 라이선스를 따르는 오픈소스 프로젝트가 됐다. 스프링 프레임워크는 2004년 버전 1.0 2006년 버전 2.0 2009년 버전 3.0 20.. 2021. 5. 19.
DBCP (Database Connection Pool) 연습 DBCP란? 컨넥션을 미리 생성한 다음, 빌려주고 반납하는 방식 데이터베이스 연동시 컨넥션을 생성하고 소멸하는 것이 아니라 미리 Pool에 컨넥션들을 생성해놓고 빌려주고 반납받는 형식으로 시스템 성능을 향상시키기 위해 사용 >> 컨넥션을 생성시에 많은 자원을 소모하는데 이것은 성능 저하를 초래하고 이것을 효율적을 사용하기 위함 기존 JDBC 사용시 1. DB 접속을 위한 JDBC 드라이버 로드 2. getConnection Method로 부터 DB 컨넥션 객체를 얻음 3. 쿼리 수행을 위한 PreparedStatement 객체 생성 4. executeQuery를 실행해서 결과를 받아옴 >> 이 과정에서 DB 연결할 때마다 Driver를 로드하고 컨넥션 객체를 얻어오는 작업을 반복하게 된다 >> 성능저하 .. 2021. 4. 25.
MVC Architecture Model 2 연습예제 1. SQL로 Table 생성 및 데이터 추가 //테이블 생성 SQL CREATE TABLE member( id VARCHAR2(100) PRIMARY KEY, password VARCHAR2(100) NOT NULL, name VARCHAR2(100) NOT NULL, address VARCHAR2(100) ) // 데이터 추가 SQL INSERT INTO member(id,password,name,address) VALUES('logitech','m331','로지텍','강남'); INSERT INTO member(id,password,name,address) VALUES('samsung','galaxy','삼성','영통'); SELECT COUNT(*) FROM member; // 멤버 숫자 세는 S.. 2021. 4. 25.
MVC Architecture Model 1 연습예제 1. SQL로 Table 생성 및 데이터 추가 //테이블 생성 SQL CREATE TABLE member( id VARCHAR2(100) PRIMARY KEY, password VARCHAR2(100) NOT NULL, name VARCHAR2(100) NOT NULL, address VARCHAR2(100) ) // 데이터 추가 SQL INSERT INTO member(id,password,name,address) VALUES('logitech','m331','로지텍','강남'); INSERT INTO member(id,password,name,address) VALUES('samsung','galaxy','삼성','영통'); SELECT COUNT(*) FROM member; // 멤버 숫자 세는 S.. 2021. 4. 23.