블로그 이미지
가야금마스터

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Tag

2015. 3. 17. 10:56 spring



1) Spring Core

 ⒜ 프레임 워크의 가장 기본적인 부분

 ⒝ 컨테이너 기능을 수행하기 위해 의존성 주입 기능을 제공

 ⒞ 스프링의 핵심으로 기능과 스 설정을 분리하기 위한 IOC 기능이 구현된 BeanFactory를 제공한다.

    ① beans : 스프링 컨테이너를 이용해서 객체를 생성하는 기본 기능을 제공한다.  

    ② context : 객체 생성, 라이프 사이클 처리, 스키마 확장 등의 기능을 제공한다.


2) Spring Context

 ⒜ Email, JNDI접근, EJB 연계등과 같은 다수의 엔터프라이즈 서비스 제공

 ⒝ Core 패키지와 마찬가지로 스프링의 기본 기능이다. 이것은 JNDI와 EJB를 비롯한 리소스에 대한 접근 경로를 제공하는 것처럼 스프링 기반에서 구현된 기능 객체(Bean) 들에 대한 접근 방법을 제공한다.


3) Spring DAO

 ⒜ JDBC 에 대한 추상화 계층으로 지루한 JDBC 코딩이나 예외처리를 없애준다 또한 트랜잭션 관리 기능도 제공된다.


4) Spring AOP

 ⒜ AOP 구현 API 제공


5) Spring ORM

 ⒜ 객체/관계 맵핑을 위한 MyBatis, Hibemate, JPA등 과의 통합을 위한 패키지이다. ORM 제품들을 스프링의 기능과 조합해서 사용할 수 있게된다.


6) Spring Web

 ⒜ 일반적인 웹 애플리케이션 개발에 필요한 기본 기능을 제공하고 웹 워크나 스트럿츠와의 통합을 위해 사용되는 패키지이다.


7) Spring MVC 

 ⒜ MVC 구현 API 제공


8) Spring OXM

 ⒜ XML 과 자바 객체 간의 매핑을 처리하기 위한 APO를 제공한다.


9) Spring JMS 

 ⒜ JMS 서버와 메시지를 쉽게 주고 받을 수 있도록 하기 위한 템플릿, 애테이션 등을 제공한다.


10) Spring JDBC

 ⒜ JDBC 프로그래밍을 보다 쉽게 할 수 있는 템플릿을 제공한다.






'spring' 카테고리의 다른 글

maven 에러 Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1  (0) 2015.04.01
Maven pom.xml dependency를 가진 대상의 scope설정  (0) 2015.04.01
Bean 객체 스캔  (0) 2015.03.31
Annotation  (0) 2015.03.31
Spring Framework 특징  (0) 2015.03.17
posted by 가야금마스터
2015. 3. 17. 10:13 spring


1) AOP(기능별 모듈화, 진정한 OOP제공)

 ⒜  컨테이너는 일관성을 유지시켜 주고 투명한 환경 내에서 느슨한 컴포넌트(POJO)의 집합에서 복잡한 시스템을 조립할 수 있는 능력을 제공하여 조직을 해치지 않음

 ⒝ AOP지원을 통해 주요 비즈니스 로직과 시스템 전반에 걸친 기능 모듈을 완벽히 분리해내도록 도와준다.


2) IOC(Inversion of Control : 역제어) 컨테이너

 ⒜ 애플리케이션 객체를 연결해 주고 자동화된 설정 및 집중화된 설정을 제공하는 가장 완전한 경량 컨테이너

 ⒝ 개발자가 직접 객체를 생성을 하지 않고, 객체의 생성에서 소멸까지 컨테이너가 관리.

 ⒞ Dependency Injection 을 통해 객체간의 의존성 주입.

 ⒟ EJB 컨테이너에 비해 가벼운 IOC 컨테이너. (Lightweight 컨테이너)


3) Lightweiht 컨테이너

 ⒜ EJB 컨테이너에 비해 가벼운 IOC 컨테이너.

 ⒝ 컨테이너의 API에 의존적이지 않은 POJO관리.


4) Test Unit (편리한 테스트) 제공

 ⒜ 컨테이너는 민첩함을 제공하고 지렛대 역활을 하며 소프트 웨어 컴포넌트를 먼저 개발하고 고립시켜 테스트할 수 있게 함으로써 테스트와 확장성을 향상시킨다.

 ⒝ 작성괸 코드에 대한 단위 테스트를 쉽게 할 수 있도록 도와준다.


5) 트랜잭션

 ⒜ 트랜잭션 관리를 위한 공통의 추상화된 레이어, 트랜잭션 관리자를 플러그인할 수 있어서 저 수준 트랜잭션을 문제없이 처리한다.

 ⒝ 선언적인 트랜잭션을 지원하여 코드를 수정하지 않고도 트랜잭션을 적용 및 변경 가능하도록 한다.


6) JDBC 추상화 레이어

 ⒜ 중요한 예외 계층을 제공하며 예외처리를 단순화시켜 코드의 양을 덜어준다.


7) ORM 프레임워크 연동 제공

 ⒜ Hibernate, MyBatis, JDO 등과 같은 ORM 프레임워크와 통합되어 있다.


8) 좀더 쉬운 J2EE 개발 지향 (저비용 유연한 코드 유지)

 ⒜ 계층화된 아키텍처를 갖고 있으며, 그 중 어떤 부분도 독립적으로 사용될 수 있도록 모듈화 되어있다.

 ⒝ EJB를 사용하든 하지 않든 관계없이 비즈니스 객체들을 효과적으로 구성하고 관리할 수 있도록 한다.

 ⒞ 컨테이너의 API에 의존적이지 않은 POJO관리.

 ⒟ 자바 이외에 빈쉘, 제이루비, 그루비와 같은 스크립트 언어를 지원한다.

 ⒠ 다른 여러 프레임워크와의 연동을 지원한다.


9) 다양한 프리젠테이션 계층 제공(JSP, Velocity, excel, PDF ...)

 ⒜ 프리젠테이션 계층을 위해 다중 뷰 기술을 지원한다.


10) 좋은 설계(아키텍처) 제공

 ⒜ 서블릿 기반의 MVC 프레임워크를 지원한다.


11) 분산(원격) 서비스

 ⒜ RMI, JAX-RPC 등관 같은 기술을 이용하여 쉽게 원격 서비스 구현이 가능하다.


12) 보안


13) 기타

 ⒜ Timer 클래스나 쿼츠 스케줄링 엔진을 이용하여 JOB 스케줄링을 지원한다.

 ⒝ JavaMail이나 제이슨 헌터의 MailMessage를 이용하여 메일(Email)을 지원한다. 

 ⒞ 다국어를 통한 국제화를 지원한다.



* POJO(Plain Old Java Object)

 특정 인터페이스 또는 클래스를 상속하지 않는 일반 자바 객체를 의미

 cf) Servlet 개체는 HttpServlet 을 반드시 상속, EJB 개체는 SessionBean을 반드시 구현




'spring' 카테고리의 다른 글

maven 에러 Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1  (0) 2015.04.01
Maven pom.xml dependency를 가진 대상의 scope설정  (0) 2015.04.01
Bean 객체 스캔  (0) 2015.03.31
Annotation  (0) 2015.03.31
Spring Framework 모듈  (0) 2015.03.17
posted by 가야금마스터
2015. 3. 16. 15:27 DB/오라클 SQL 명령어

-- 해당일의 주차 구하기 (월~일 체계)

SELECT TO_CHAR(SYSDATE,'IW') FROM DUAL; 

 

-- 당월 첫 주 화요일

SELECT NEXT_DAY((TRUNC(SYSDATE,'MM')-1),'화') FROM DUAL;

SELECT NEXT_DAY((TRUNC(SYSDATE,'MM')-1),'화요일') FROM DUAL;

SELECT NEXT_DAY((TRUNC(SYSDATE,'MM')-1),3) FROM DUAL;

 

-- 당월 마지막 날짜

SELECT LAST_DAY(SYSDATE) FROM DUAL;

 

-- 당월의 첫 날 구하기

SELECT TO_CHAR(TRUNC(SYSDATE,'MM'),'YYYYMMDD') FROM DUAL;

 

-- 당월 첫주 날 수

SELECT TO_NUMBER(TO_CHAR(NEXT_DAY((TRUNC(SYSDATE,'MM')-1),1),'DD')) FROM DUAL;

 

-- 전월의 마지막 날 구하기

SELECT TO_CHAR(TRUNC(SYSDATE,'MM')-1,'YYYYMMDD') FROM DUAL;

 

-- 당월 마지막 주 목요일

SELECT NEXT_DAY((LAST_DAY(SYSDATE)-7),'목') FROM DUAL;

SELECT NEXT_DAY((LAST_DAY(SYSDATE)-7),'목요일') FROM DUAL;

SELECT NEXT_DAY((LAST_DAY(SYSDATE)-7),5) FROM DUAL;

 

-- 당월 마지막주 날 수

SELECT LAST_DAY(SYSDATE) - NEXT_DAY((LAST_DAY(SYSDATE)-7),2) + 1 FROM DUAL;


-- 해당일 포함 된 주의 목요일 날짜

SELECT CASE WHEN TO_CHAR(TO_DATE('20100629','YYYYMMDD'), 'D') < 5 THEN TRUNC(TO_DATE('20100629','YYYYMMDD')-5, 'IW')+3

            ELSE TRUNC(TO_DATE('20100629','YYYYMMDD'), 'IW')+3 END RESULT

  FROM DUAL;

 

-- 해당일 포함 된 주가 속한 년 (년말,년초시)

SELECT CASE WHEN LAST_DAY(SYSDATE) - NEXT_DAY((LAST_DAY(SYSDATE)-7),2) + 1 < 4                                              -- 월 마지막 주의 날수가 4일 미만이면서 

                             AND SYSDATE <= LAST_DAY(SYSDATE) AND SYSDATE >= NEXT_DAY((LAST_DAY(SYSDATE)-7),2)   -- 오늘이 월 마지막 주의 일자에 포함되면

                           THEN TO_CHAR(ADD_MONTHS(SYSDATE,1),'YYYY')||TO_CHAR(SYSDATE, 'IW')                                          -- 차월의 월이 속한 년도 + 주차를 취하고

                          WHEN TO_NUMBER(TO_CHAR(NEXT_DAY((TRUNC(SYSDATE,'MM')-1),1),'DD')) < 4                                   -- 월 첫주의 날수가 4일 미만이면서

                             AND SYSDATE <= NEXT_DAY((TRUNC(SYSDATE,'MM')-1),1)                                                                           -- 오늘이 월 첫 주의 일자에 포함되면

                           THEN TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY')||TO_CHAR(SYSDATE, 'IW')                                        -- 전월의 월이 속한 년도 + 주차를 취하고

                             ELSE TO_CHAR(SYSDATE,'YYYY')||TO_CHAR(SYSDATE, 'IW')                                                                           -- 그외는 당월의 월이 속한 년도 + 주차를 취함.

                              END AS YEAR_WEEK_NO

FROM DUAL;

 

-- 요일 구하기 (1=일 ~ 7=토)

SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL;

 

-- 요일 구하기 (한글로 출력)

SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL; -- 월

SELECT TO_CHAR(SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=KOREAN') FROM DUAL; -- 월

SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL; -- 월요일

 

-- 해당주 목요일 날짜

SELECT TRUNC(SYSDATE, 'IW')+3 FROM DUAL;

 

-- 당월 마지막 날의 요일 구하기 (1=일 ~ 7=토)

SELECT TO_CHAR(LAST_DAY(SYSDATE),'D') FROM DUAL;

 

-- 마지막주 목요일 (1=일 ~ 7=토)

SELECT NEXT_DAY((LAST_DAY(SYSDATE)-7),5) FROM DUAL;

 

-- 마지막주 월요일 (1=일 ~ 7=토) 바로 전 날짜

SELECT NEXT_DAY((LAST_DAY(SYSDATE)-7),2)-1 FROM DUAL;

'DB > 오라클 SQL 명령어' 카테고리의 다른 글

오라클 DDL 정의  (0) 2015.03.19
오라클 AUTO_INCREMENT (인서트 자동증가)  (0) 2015.03.19
날짜관련 명령어  (0) 2015.03.16
NULL 치환 법 ( NVL & NVL2 ) OR DECODE  (0) 2015.03.16
Decode & Case  (0) 2015.03.16
posted by 가야금마스터