Spring AOP AOP정 의☞ AOP( Aspect Oriented Programming ) : 관점 지향 프로그래밍☞ 어떤 기능을 구현하기 위한 세부기능들을 분리하고 각 세부기능 중에 - 특정 기능을 위해 필요한 세부기능을 핵심관심사항- 여러 기능 구현에 필요한 세부기능을 공통관심사항 세부기능들을 핵심관심사항과 공통관심사항으로 분리해서 공통관심사항으로 이뤄진 프레임에 핵심관심사항을 조립해서 기능 구현을 달성!! 용 어◆ Target : 핵심사항이 구현 되어 있는 객체( ex : Dog, Cat, Rabbit 등에 구현 되어있는 각기 다른 기능 ) ◆ JoinPoint : 공통관심사항이 적용 될 수 있는 지점 ( ex : 메소드 호출 시 , 객체 생성 시 ) ◆ PointCut : JoinPoint의..
전략패턴 전략패턴 = 의존성 역전 + 리스코프 치환원칙( 느슨한 결합 ) ▶의존성 역전1234567891011121314package di02_2; public class Kid { public static void main(String[] args) { Attackable attack = new PunchAttack(); Robot robot = new Robot(attack); //생성자에 주입 Constructor Injection // robot.setAttack(attack); // 세터에 주입 Setter Injection robot.fight(); } }Colored by Color Scriptercs☞ 내가 생성해야될 객체를 내가 만들지 않고 나를 사용하는 놈이 객체를 대신 생성해서 나한테..
Spring Framework 스프링의 모듈Spring Core☞ 스프링의 객체 관리 기본 라이브러리Spring Context☞ Core의 확장판같은 개념Spring Web☞ 웹 지향적 통합 모듈을 제공Spring DAO☞ DAO ( 데이터베이스 접근 객체 ) 모듈 제공Spring ORM☞ 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴트 프레임워크Spring AOP☞ 공통관심을 프레임같은 형태로 하나로 묶어놓고 공통관심틀에다가 핵심관심을 끼워넣어서 전체 구조를 만들어보는 형태 스프링 컨테이너☞ 스프링 컨테이너 = 객체관리 컨테이너기존 방법 : 필요할 때 객체를 생성해서 사용스프링사용 방법 : 스프링 컨테이너에 사용할 객체를 맡겨두고 필요할 때 얻어다가 사용스프링컨테이너..
빌더패턴 (Builder Pattern) 개요빌더패턴이란 ? 객체를 생성 시 생성자를 깔끔하고 직관적으로 확인하기 위한 기법메소드 체이닝 기법을 활용하여 객체를 생성함 Builder패턴 예제 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485public class User { private final Long seq; private final String name; private final Email email; public User(String name, Email e..
템플릿 메소드 패턴 템플릿 메소드 패턴 정 의하위클래스의 여러 클래스 들이 공통되는 사항을 상위 추상 클래스에서 구현하고, 상세한 기능들은 각 하위 클래스에서 구현함 사용이유코드의 중복을 줄이고 효율적인 코드관리가 가능 단 점상위클래스의 구조(템플릿)에 대한 재사용은 잘 이뤄지지만, 하위 클래스의 상세한 기능들을 재사용하기 어려움▶ 하위 클래스의 상세한 기능들의 코드를 재사용 불가 기능을 재사용하려면 하위 클래스의 상세한 기능들을 클래스로 따로 지정해야함 해결방안단일 책임 원칙한 클래스는 하나의 책임만 가져야 한다▶ 클래스를 각각 만들어 따로 상세한 기능을 지정하여 재사용Class Robot123456789101112131415161718192021222324252627282930 package d02;..
Cookie / Session Cookie정 의☞ HTTP의 비 연결지향형 서비스의 단점을 극복하고자 사용HTTP의 비 연결지향형 서비스란?클라이언트가 서버에게 정보를 요청하면 해당 요청에 대한 응답 전송 후 연결을 끊음 ☞ 클라이언트 컴퓨터의 하드디스크에 사용자의 정보를 저장☞ 서버가 아닌 클라이언트에 저장하기때문에 서버의 부하를 줄일 수 있음SetCookie12345678Colored by Color Scriptercs GetCookie123456Colored by Color ScriptercsDeleteCookie123456Colored by Color Scriptercs Session정 의☞ 웹브라우저를 닫기전까지 페이지를 이동하더라도 사용자의 정보를 잃지 않고 서버에 보관할 수 있도록 하는 객체..
MySQL 명령어 정렬 실행동작 명령어 비고 오름차순 정렬SELECT column명 FROM table ORDER BY column명(정렬하고싶은); SELECT * FROM emp ORDER BY sal;내림차순 정렬SELECT column명 FROM table명ORDER BY column명 DESC; SELECT * FROM emp ORDER BY sal DESC; 함수 그룹함수 실행동작 명령어 비고 대소문자로 변경SELECT column명 FROM table명 WHERE LOWER [ UPPER ](column명) = '검색어'; 사용하는 MySQL은 대소문자 구분없이 검색 되도록 설정이 돼있기 때문에 굳이 lower 함수 사용 안해도 검색이 됨!! SELECT * FROM emp WHERE LOW..