스프링 2일차


어제는 XML 방식의 IOC와 DI를 했고 오늘은 어노테이션(3.0 이후로 지원하는)을 이용한 스프링 구조


Spring 애플리케이션 작성 절차

1. POJO 클래스 작성


applicationContent에서 스코프를 지정할 수 있는대 prototype은 getbean 할때마다 생성하고 싱글톤은 하나의 객체를 생성해서 사용하는 방식을 결정할 수 있다.


session과 request가 있는대 이것은 webApplication에서 구현시 필요하다


어노테이션 방식

@Component - XML 설정시 <bean>태그와 같다, 클래스를 가리킨다

@Resource - XML 설정시 <property> 태그와 같다. 해당 값의 의존성을 주입한다.

@Value - 객체 생성시 초기화

@Autowired - 알아서 이름을 찾아서 할당해준다.


도메인 클래스와 DTO의 차이

도메인 - 약간의 비즈니스 로직을 가지고있는 데이터 객체

DTO - 순수한 데이터만을 가지고있는 객체


Spring JDBC개요

스프링에서 JDBC를 쉽게 활용할수 있게 해주는 모듈


- jdbc Template

메소드를 활용하여 직접 이용할수 있는 형태이다. (1.0)

- NameParameterjdbcTemplate

sql에 파라미터를붙여 sql을 만들수 잇다(2.0)


mybatis 적용한 예제 실습


Posted by moyaiori
,

이클립스 스프링 플러그인 설치 + 메이븐을 이용한 프로젝트 설정잡기


스프링 프로젝트를 활용할시에 수많은 JAR 파일을 공유할수 있도록 해준다.


메이븐의 이점

1. 핵심 라이브러리와 의존 라이브러리의 관리가 편리

2. 모든 소프트웨어 프로젝트에 정형화(표준화)된 디렉터리 구조와 빌드 프로세스를 유지


maven.apache.org 사이트에서 다운로드 받을 수 있다.


 - 메이븐의 주요 원칙(설정이 아닌 관례)

1. 프로젝트에 대한 표준(정형화)화된 디렉토리 구조

2. 프로젝트 당 하나의 주요 결과물

3. 표준적인 명명(naming) 규칙


- 프로젝트 객체 모형(POM : Project Object Model)

단일 프로젝트에 대한 설명 (description)


http://search.maven.org/#search%7Cga%7C1%7C

메이븐 라이브러리 검색 사이트



오후수업 시작!!


Spring Framework

자바 엔터프라이즈 개발을 위한 오픈소스 경량 애플리케이션 프레임워크다.


플러그인 형태로 이클립스에 추가하여 사용할수 있다.


EJB가 너무 어려워서 POJO(Plain Old Java object) 를 활용하여 구현되어있다.


개발자는 POJO객체를 활용하여 비즈니스 로직을 구현한다.


POJO를 기반으로 아래 3가지 개념이 설계 원칙으로 정의되어있다.


IOC (Inversion Of Control)

객체를 프레임워크에서 관리해줌.....

스프링의 핵심 개념



스프링은 POJO 객체를 서블릿 컨테이너마냥 

관리해준다(라이프 사이클 관리)


OOP를 건너뛴 새로운 AOP에 따라 구성되어있다.


Portable Service Abstraction(PSA)

세부 기술의 변화와 관계없이 일관된 방식으로 기술에 접근할 수 있게 해주는 설계 원칙


스프링은 경량 컨테이너 이다.

1. 애플리케이션의 클래스는 스프링 컨테이너 위에서 빈(객체)으로 만들어져 동작하게 만들고

2. 코드는 스프링 프로그래밍 모델(IOC/ID, AOP)에 따라 작성하고

3. 엔터프라이즈 관련 기술을 사용할 때는 스프링이 제공하는 지원 API와 서비스를 활용한다.


 - 구분

팩토리 - 어떤 객체를 생성만 해준다.

컨테이너 - 어떤 객체를 생성해주고 라이프사이클까지 관리해준다.


컨테이너란?

객체의 생성, 사용, 소멸에 해당하는 라이프사이클을 담당

라이프사이클을 기본으로 애플리케이션 사용에 필요한 주요 기능을 제공


기능

라이프사이클 관리

Dependency 객체 제공

Thread 관리


필요성

비즈니스 로직 외에 부가적인 기능들에 대해서는 독립적으로 관리되도록 하기 위함


IOC의 목표

결합성을 낮추는대 필요하다








Posted by moyaiori
,

토요일 보충수업


과제!!

제이쿼리 모바일 자습!!




Posted by moyaiori
,

jQuery 3일차


어제까지 UI 활용 및 찾기


오늘은 ajax 시작!!


form 태그가 있을경우 serialize을 활용하면 값을 만들어준다.


Posted by moyaiori
,

jQuery 수업 2일차


어제는 선택자 위주로 공부


메서드를 활용하여 좀더 간결하게 할수있는 방법을 공부한다.


find()는 XML 객체에서 사용한다


text() 일반 플레인 텍스트로 반환한다.

text()에 값을 입력하면 특수문자를 이스케이프 처리해준다.

html과 조금 다르다.



attr 같은 1개만 오는 함수일경우 each메서드를 활용하여 찍으면 여러 값을 가져올수 있다.


jQuery의 다양한 플러그인과 UI



Posted by moyaiori
,

10/19 ~ 10/27 쇼핑몰 프로젝트 주간


jQuery수업


min과 아닌 파일의 차이는 주석과 공백의 유무 차이이다.


이벤트 핸들러는 마지막에 작성된것만 실행되는 이유는 자바스크립트의 모든 객체는 맵형식으로 처리되어있기때문에 위에서 작성된 이벤트 핸들러는 덮어씌우는 것과 같아서 맨 마지막만 실행된다.



jQuery 메서드의 리턴타임은 확장객체타입(jQuery Object, array 타입)을 반환한다.

기존의 array의 상당히 다양한 메서드가 추가된 array이다.


jQuery 메서드들의 특징

인자값이 없으면 내용을 가져온다.(getter)

인자값이 있으면 내용을 넣는다(setter)






Posted by moyaiori
,

ajax 예제 오전


keyupEvent 처리

killer, bangry

idcheck.jsp


-------------------------

쇼핑몰 프로젝트 오후


기존의 기술들을 복습하는 차원

단품목 쇼핑몰(상품 1개) 주제


페이지는 최대한 적게

ajax 활용하여

서버는 모델2

기간 일주일

다음주 화요일 오전10시 먹고나서 발표

조별로 40분씩


계획서 완료시 발표후에 작업시작



외부 CSS 사용가능

부트스트랩 사용가능





Posted by moyaiori
,

ajax(Asynchronous Javascript And XML)

데스크톱 애플리케이션 수준의 웹 애플리케이션 개발을 위한 새로운 개발 모델(구현방식) 이다.


AJAX를 이용하면 페이지 이동없이 동적인 대화형 웹 애플리케이션을 구축할 수 있다.


웹사이트가 아니라 웹 애플리케이션이다.

계속 연결되어있는 부드럽고, 지속적인 상호작용이다.



XMLHttpRequest

비동기 통신일 경우 send 후에 데이터 없이 바로 아래가 실행되기때문에 리스펀스 없이 바로 출력한다.


readyState의 상태에 따라 onreadystatechange 이벤트가 발생한다.


ajax는 post방식으로 전달

xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoaea');

위 메서드로 해더에 추가 시켜야 한다.







Posted by moyaiori
,

MyBatis 2일차

다양한 SQL 구성에 대한 자바 코드로 처리하는 예제 공부



Log4j

를 활용한 sysout 없는 로그찍기 + 로그 파일화

Posted by moyaiori
,

XML DTD 2일차


다양한 DTD 작성시 속성에 대한 유형들



엔티티는 XML 문서를 구성하는 물리적인 영속성 저장단위(Storage unit)를 의미한다. 

=> 파일


- XML 스키마

DTD는 XML로 작성되지않기때문에 스키마는 XML로 작성되어있다.

MS에서 발의하여 1999에 재정되었다.

DTD는 제약사항이 많고 표현이 부족하여 이것을 보안하기위해 나왓다.

자기 중심적으로 작성된다. <-- 무슨말?


XML을 사용자들이 보기 쉽게 HTML로 변환시키고싶다. <- 목적

위 목적을 달성하기 위한 문법이 XSL (xml 스타일시트 랭귀지)이다.


XSL 변환기를 통해 DOM형태로 변환시켜준다.


PI선언(PI : 처리지시자, 내부적인 다른 응용프로그램 호출해준다.)

<?xml-stylesheet type="text/xsl" href="transfer.xsl">


- DOM 기반 XML 문서 처리(자바 네이티브에서)

일관된 방법으로 XML에 접근하기위해 W3C에서 지정한 규약


웹브라우저에 내장된 응용프로그램들


HTML 파서 + html 랜더러

XML 파서 + XSL 변환기

자바스크립트 엔진 + 자바 버추얼 머신


자바 JDK1.4부터 내장되어있어 JAXP에 DOM파서가 내장되어있다


 - mybatis 프레임 워크

프레임워크란?

애플리케이션 기본 구조와 전체적인 제어 흐름으 담당하는 '확장 가능한 설계(기반) 코드' 와 애플리케이션을 개발하는데 필요한 라이브러리 이 두가지 요소가 통합되어 제공되는 인터페이스와 클래스의 집합이다.


Posted by moyaiori
,