반응형

 

 

 

 

1. What is spring framework?


: DI(Dependency Injection)을 지원하는 Container(자바 객체를 담고 관리하는 컨테이너)

* DI = IoC(Inversion of Control)

 

- 장점

: POJO(Plain Old Java Objects)를 이용한 쉬운 개발

: 부모 클래스를 이용하지 않고, DI와 interface를 활용한 객체간 느슨한 결합(loose coupling)

: Aspects와 templates를 이용한 단순 반복 코드 제거

 

 

 

2. History of Spring


- EJB(Enterprise JavaBeans)

: 기업용 어플리케이션 개발을 위한 표준 component model

: 복잡한 코드 개발 필요, 성능 미흡

 

- Spring 1.0

: 기존 EJB를 대체하기 위한 open-source, light-weight framework

: DI, AOP, POJO의 개념을 기반

 

- EJB 3.0

: spring의 장점을 반영하여 DI, POJO기반 개발 방법 지원

 

- Spring 2.0

: support for XML namespaces, AspectJ, and @Component

 

현재: Spring 5.0

 

 

 

3. Spring Framework 특징


1) Light-weight container and framework 

: java 객체의 life-cycle 관리

2) DI(Dependency Injection) 지원

3) AOP(Aspect-Oriented Programming) 지원

4) 효율적인 Web application 지원

: Servlet-based Spring MVC web framework

: Spring WebFlux reactive web framework

: RESTful web wervice framework

5) JDBC, JPA, 선언적 transaction 처리 등 데이터베이스 연동 지원

6) 다양한 기술들과의 연동 지원

: EJB

: JDBC, Hibernate, JPA, MyBatis, NoSQL DB

: JSP, Mustache, Thymeleaf

 

 

 

 

4. Components

- 주요 module

 

 

- 주요 module 간 의존 관계

 

 

 

 

5. webMCV Framework


 

 

 

 

 

 

6. Dependency Injection(DI)


객체 외부에 존재하는 assembler(container)run-time객체들 사이의 의존 관계를 파악하고 의존 객체를 객체에 제공해 주는 것

* 객체 생성 시점에 의존 객체가 객체에 제공됨

* IoC : 객체가 의존 객체를 직접 생성하거나 찾을 필요 없음

* 객체들 간의 의존 관계는 XML 파일이나 JAVA 설정 클래스(Java-config), annotation 등을 통해 설정됨

-> Assembler가 설정 내용 참조하여 DI 실행

 

 

 

 

일반적인 DI 구현방법(Spring x)

- 구현방법 1 : 의존하는 객체를 직접 생성

 

- 구현방법 2 : Factory 클래스 이용

 

 

- 구현방법 3 : DI 이용

 

 

1) 생성자를 통해 의존 객체 전달받는 방법

 

 

2) Setter method를 통해 의존 객체 전달받는 방법

 

- 공통

 

 

 

 

 

 

 

 

7. 스프링의 DI 지원


Assempler 클래스 불필요

 

 

1) XML을 통한 객체 생성 및 의존관계 설정 (appContext.xml)

 

 

 

 

2) Annotation을 이용한 설정

 

 

 

3) Java code를 이용한 설정

 

 

 

 

 

 

 

8. AOP(Aspects Oriented Programming)


공통의 관심사항 적용 시 발생하는 의존 관계의 복잡성과 코드 중복 문제를 해결하기 위한 프로그램 개발 방법론

 

Cross-cutting Concerns(공통 관심사항) 

: transaction, logging, security

 

 

AOP 실행 예제(POJO 기반)


 

 

 

 

 

 

반응형
반응형

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

 

 

 

 

기계학습의 분야


 

 

 

 

binary classification

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

 

 

 

1. 원격저장소의 파일을 가져오기

git clone <원격저장소 주소(github에서 가져오기)>

 

 

2. 원격저장소 연결하기

git remote add origin <원격저장소 주소>

 

 

* 원격저장소 잘 연결됐는지 확인

git remote -v

 

더 자세히

git remote show origin

 

 

 

3. 원격저장소 이름 변경

git remote rename origin git_test

 

 

 

4. 원격저장소 삭제

git remote rm git_test

 

 

 

 

 

< 원격 저장소 동기화 >

5. 원격 저장소에서 데이터 가져오기 + 병합(merge)

git pull

 

 

 

6. 원격 저장소에서 데이터 가져오기만 하기

git fetch

 

 

+ 병합도 하고 싶으면

git merge origin/master

 

 

 

 

 

 

7. 저장소 발행하기

git push origin master

 

 

반응형

'etc > Git' 카테고리의 다른 글

git 라이프사이클  (0) 2021.02.15
git 사용자 정보 설정하기 / 저장소 생성하기  (0) 2021.02.10
반응형

 

 

 

 

1. git add 

- 특정 파일 추가

git add comment.js

 

- 모든 파일 추가

git add .

 

 

 

* add 명령 취소하기

git reset <file_name>

 

2. git staging 상태 확인

git status

 

 

 

3. git 저장소 반영

git commit -m 'commit message'

 

* commit 된 파일 중 변경사항을 비교할 때

git diff

 

 

 

4. git 저장소 반영 내역

git log

 

 

 

 

 

 

반응형

'etc > Git' 카테고리의 다른 글

git 원격저장소 연결하기  (0) 2021.02.15
git 사용자 정보 설정하기 / 저장소 생성하기  (0) 2021.02.10
반응형

 

 

 

1. 사용자 정보 설정하기

$git config --global user.name "name"
$git config --global user.email gitaccount@naver.com

 

2. 프로젝트마다 다른 이름, 이메일을 설정하고 싶다면

--global 빼기

$git config user.name "name"
$git config user.email gitaccount@naver.com

 

 

 

3. 설정 정보 확인하기

$git config --list

 

 

 

4. Git 저장소 생성하기

생성하고 싶은 폴더로 이동 후,

git init [name]

 

 

 

 

반응형

'etc > Git' 카테고리의 다른 글

git 원격저장소 연결하기  (0) 2021.02.15
git 라이프사이클  (0) 2021.02.15

+ Recent posts