2021-01-05

jsbak·2021년 1월 5일
0

IOC
MVC
ORM (Spring이 어떻게 mybtis를 대체하는가?)
AOP(트랜잭션 관리)
나머지는 수정 중간에 섞을것

디펜던시 인젝션???, 누군가가 만들어서 넣어줘야한다. 주입자가 필요하다?(주입자와 DAOImpl 사이의 결합력으로 되었다., 주입자가 어플리케이션 밖에 존재한다면 어플리케이션에서의 결합력이 없어진다 spring ??)

spring?

https://spring.io/

data-access(dao 구현 기능)
messaging(웹소켓으로 대체할 예정) - push message, 별도의 메시지서버, 메시지 브로커가 필요 해서 제외예정
특정레이어하나를 지원하기 위한 것 프레임워크가 아니다 Enterprise 지원 프레임워크 이기 때문에 가지고 있는 기능이 상당히 많다.
우리의 포커스 ( 절대로 바뀌지 않는 원칙을 보는 것으로 수업 방향을 잡겠다)


Refence Doc - 휴대폰 메뉴얼 같은 느낌
III. Core Technologies 에 포커스
IoC ( 인버전 오브 컨트롤 ), 라이브러리와 프레임워크의 차이 설명에 바닥을 깔고 가야한다. IoC 패턴(제어가 역전, 의존 관계가 역전)

리소스 파일 종류
3가지 웹, 파일시스템, 클래스패스
commons 벨리데이터 하이버 네이트쓰기위해서 만들었는데 , Spring안에서 9. Validation, Data Binding, and Type Conversion
하이버 네이트관련해서 지원한다는 소리이다.

  1. Spring Expression Language (SpEL)
    EL이 Spring 안에 존재한다.

  2. Aspect Oriented Programming with Spring - AOP

  • 왜 필요한지
  • 사용 시 장점
  • 사용 시 결합력이 어떻게 낮아지는지

선언적 프로그래밍??

14.2. Unit Testing support Classes
테스팅

Object Pooling Commons Pool
Connection Pool

검색어 : egov wiki
우리으 egovFramework
개발환경(eclipse 가져가다 확장) + 실행환경(Spring 가져다가 확장)

Enterprise JavaBeans

  • Rod Johnson

EJB 의 단점 보완 - Spring 장점

마음대로 개발 - 선호 기호에 따라 다 각자개발하고 합치려면 어렵다
2명이상의 개발자는 룰과 가이드 라인(틀)이 필요하다.

그런 규칙성(스펙모음) EJB

  • 대표적 자바빈 규약

제안서 정리하지않고 때려넣어서 스펙이 만들어짐
그러면 개발자가 일하기 싫어진다. 그러면 EJB를 쓰기 싫어진다.

봄싹? 국내 스프링 커뮤니티

장점

  • 가벼운 모델
  • 단순 (POJO)
  • 실패작인 빈 X, 자기 모듈을 고집X
  • 이식성 (POJO)
  • 오픈 소스

POJO기반 의존 코드가 없이 (결합력 X)

스프링의 라이프 사이클 관리 대상은 객체이다
이 객체를 Bean 이라고함.
스프링 컨테이너

  • 빈 컨테이너
  • 의존성 주입 컨테이너(D.I 컨테이너)
  • IoC 컨테이너
    cf. 컨테이너 - LifeCycle

요청과 응답의 접점이 없었다.
Mock 객체가 없었기 때무니.. Web MVC 테스팅 모델 (국내 개발자들이 제안)

Factory Object (Method) Pattern

결합력을 해결하기 위해서 Factory 객체로 몰아버림, 또한 이 안에서의 결합력을 해결하기 위해서 설정파일을 외부로 빼버림

인터페이스가 정해져있기 때문에 결합력을 줄여버렸다.

Strategy Pattern

CookieUtils 에서 이용했다.
HTTP Request는 인터페이스이다. 어떤 API 객체로 만들어 지는지 전혀 모른다. 아파치 퍼사드 객체가 만들어진다.
전략에 해당하는 인터페이스만 맞춰 두면 A라오던 B라 오던 상관이 없는 것

디자인 패턴의 두가지 키워드??
응집력과 결합력과 연관해서 생각해야한다.

DI 를 했을떄와 안했을때 차이
DI 구조를 어떻게 해결할지

필요 모듈과 의존 관계를 파악해서 넣는다. 즉 context 넣으면 다른거 안넣어도 같이 따라온다는것 context가 core의 다른 3가지과 의존 관계를 가지고 있다. (내포)

객체의 필수는 생성자 인젝션 으로
옵션은 Setter 인젝션 으로

주입자가 외부냐, 내부냐에 따라 달라진다.

DI없는 경우 결합력 어떻게 발생하나

단계적으로 디자인 패턴 적용해서 결합력을 어떻게 낮추는가?

인터페이스

협업
클래스 사이에서의 결합력을 낮춤 + 실행코드 탈출화 + 캡슐화(사용자가 어떻게 굴러가는지 알 필요가 없게한다)

pom.xml

빈 메타데이터를 등록

property value -> setter injection

<bean class="kr.or.ddit.sample.dao.SampleDAOImpl"></bean>

생성자를 가지고 객체를 생성한 것과 똑같다.
id 유일성?
spring C.O.C(convention of configuration)를 광범위하게 이용한다??
그동안의 관행을 따른다??
참고 : https://medium.com/@dlaudtjr07/convention-over-configuration-%EB%9E%80-694345d2447f

엔트리 포인트

엔트리 포인트(entry point)는 제어가 운영 체제에서 컴퓨터 프로그램으로 이동하는 것을 말하며, 프로세서는 프로그램이나 코드에 진입해서 실행을 시작한다. 어떤 운영체제나 프로그래밍 언어에서, 초기 엔트리는 프로그램의 한 부분이 아니라 런타임 라이브러리의 한 부분이다.

컨테이너가 어떻게 객체를 관리하는지 알아야한다.

  1. 컨테이너 사용방법
  2. 빈 관리할때 어떤 특성에 따라 관리하는지
  3. Auto DI 어떻게 자동으로 등록하고 injection 받을 수 있는지

제네릭(generic)

  • 데이터 타입이 런타임 시점에 동적으로 결정되는 방식
  • 가상의 데이터 타입을 사용하여 코드 작성 후 사용 시 타입 지정

참고 : https://codevang.tistory.com/165

리소스


클래스패스
파일 시스템
뭘하면 이 과정이 필요가 없어진다?

리소스 로더를 어떻게 활용하냐에 따라 컨테이너 구현체가 달라진다.

ORACLE MERGE 구문 알아보기

내일 프로퍼티스 파일 사용방법 2가지

미션

첫번째

알바 자격증 테이블에서
중복되게 하지 않게 복합키를 기본키로 잡았다.

오라클의 DECODE 함수 알아볼것

이미 보유한 자격증은 수정목록에서 제외?
아니면 잘못등록된 자격증은 삭제 할수 있어야하며 아래 자격목록에 보여야함.

공통모듈 모듈화, 이미지 미리보기

알바 정보, 자격증 2진데이터 DB저장, 프로필사진 서버 2진 데이터 저장 -> 트랜잭션

과제 못했다면
Alba 코드 리뷰하고
안된 부분 내가 처리해보기가 미션이래

두번째

EMPLOYEES에 대해서 MERGE 구조하고 ? 계층 구조 적용해보기?
계층형 쿼리 구문

세번째

오늘한 것 복습하기

네번째

profile
끄적끄적 쓰는곳

0개의 댓글