ApplicationContext : 국제화 지원, 자원 로딩, 이벤트 발생

BeanFactory : custom 초기화 메소드와 소멸 메소드를 호출하여 빈의 라이프 사이클 관리가 가능하다.

ApplicationContext  = BeanFactory + 이벤트 메커니즘.
그러므로, 이벤트 처리를 위해서는 ApplicationContext  를 사용하여 Bean을 생성한다.

Bean의 life cycle.
 Bean 의 내부 초기화 메소드 호출
-> 커스텀 초기화 메소드

-> 작업

-> 커스텀 소멸자
-> 내부 소멸자
-> 소멸

단 내부 초기화와 소멸자 메소드는 건드리지 않는 것이 좋다.

만약 ApplicationContext 의 경우가 된다면
나머지는 동일하고, 작업 부분에 이벤트 처리가 추가된다고 생각하면 된다.

Posted by tuning-java
,

Spring framework에서 지정하는 scope의 종류는 5가지가 있다.

singleton : 기본. 단하나의 인스턴스만 존재

prototype : 매번 객체를 생성

request : WebApplicationContext를 통해서 생성했을 경우에만 사용가능. request 스코프를 가진다.

session : WebApplicationContext를 통해서 생성했을 경우에만 사용가능. request 스코프를 가진다.

global-session : WebApplicationContext를 통해서 생성했을 경우 포틀릿을 지원하는 컨텍스트에서만 사용가능.

뒤에 있는 두가지의 경우는 웹에서 사용하기 위한 scope이다.

대부분 위에 있는 singleton과 prototype을 사용한다고 한다.

Posted by tuning-java
,

IoC는 Inversion of Control 의 약자이다.
이는 프레임웍에서 클래스의 객체를 관리하는 구조라고 생각하면 된다.

IoC의 구현 방법은 DL과 DI 두가지가 있다.
DL : Dependency Lookup
DI : Dependencty Injection

DL은 JNDI를 이용하여 Lookup 하는 방식을 말하고, DI는 각 오브젝트에서 의존적인 resource나 collaborator에 대한 책임을 갖지 않고 컨테이너가 그 일을 담당하도록 하는 것이다.

DI는 다음과 같이 두가지로 나뉜다.
Setter Injection
Constructor Injection

Setter Injection은 JavaBeans의 Property 구조를 이용하며, 주로 이 방법을 사용한다. 두가지 중 어떤 방법을 사용할 지에 대해서는 개인의 취향을 따르거나, 프로젝트의 표준을 따라야 한다.


Posted by tuning-java
,

사용자 삽입 이미지

Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기
책이 나온지도 이제 한달이 되었습니다.

많은 분들이 제 책을 찾아 주셔서 감사할 따름입니다.
아마도 자바의 성능에 대해서 고민하고, 고생하시는 분들이 많다는 현실을 나타내는 것이 아닐까 생각되네요.

책을 보시면서 궁금했던 점에 대해서는 본 블로그의 방명록을 통해서 문의해 주시기 바랍니다.

(참고로 위에 있는 사진은 제가 바탕화면으로 사용중인 사진입니다.
제가 찍은 거에요 ^^)

Posted by tuning-java
,
이클립스가 유로파로 오면서 가끔 개길때가 있다.
다음과 같은 화면이 나타나면서...
사용자 삽입 이미지

이럴때에는 batch 파일을 만들거나,
바로가기를 만들어서 다음과 같이 수정해준다.

C:\eclipse\eclipse.exe -vmargs 512m

여러가지 옵션이 있지만,
이 옵션이 가장 간단하고 편한듯
Posted by tuning-java
,
여기에 있는 내용은 제가 교육 받으면서 필요한 부분에 대해서 정리를 해 놓은 것 입니다.
굉장히 심도가 얕기 때문에, 자세한 내용은 책을 활용하셔야 겠지요?


Spring Framework (스프링 프레임웍) 이란건 대체 무엇일까?

스프링 프레임웍을 한마디로 표현하자면
EJB 기반으로 개발을 하지 않고 POJO(Plain Old Java Object) 기반으로 개발을 하더라도 가볍고, 제어가 가능한 상호 관련이 적은, AOP (Aspect Oriented Programming. 관점지향 프로그래밍)을 지원하고, 컨테이너를 통해 라이프사이클을 관리하고, XML 기반으로 컴포넌트를 개발할 수 있도록 지원해주는 프레임웍이라고 할 수 있다.

(한마디로 표현하자니까 이해하기도 어려울 듯 하고, 열나 길다 - -;)

스프링 프레임웍은 다음과 같은 7개의 모듈로 되어 있다.
Spring Core
Spring Context
Spring DAO
Spring ORM
Spring AOP
Spring Web
Spring Web MVC

Core : DI 라는 Dependency Injection 기능을 제공한다.
Context : 컨텍스트라는 정보를 제공하는 설정을 관리한다. JNDI, EJB, 국제화, 스케줄링이 여기에 포함된다.
DAO : DB와 관련된 JDBC 코딩 부분을 처리해 주기 위한 JDBC 추상화 레이어를 제공한다.
ORM : JDO, Hibernate, iBATIS 등 O-R Mapping API를 위한 레이어를 제공한다.
AOP : 관점지향 프로그래밍을 제공한다.
Web : 웹 기반의 여러가지 기능을 제공한다.
Web MVC : Model과 View(Web form) 사이의 구분을 제공하기 위한 관련된 기능을 제공한다.

이제 스프링 프레임웍이 어떻게 되었는지 간단히 알아보았으니,
다음에는 IoC 컨테이너 부터 천천히 알아보자.
Posted by tuning-java
,
윤 머시기 강사가 이야기한

Spring Framework 가 만들어진 이유

Proxy의 불편함 => AOP 의 사용
JDBC의 불편함 => Spring JDBC
Web 프로그래밍의 불편함 => Spring MVC

기타 등등의 지금까지 Java 기반의 프로젝트를 하면서 불편한 점에 대해서
보완을 하기 위해서 만들어 졌다고 한다.
Posted by tuning-java
,