달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

 

생명 주기(life cycle)

·         스프링 컨테이너 생명 주기

·         http://codedragon.tistory.com/6153

·         스프링 생명 주기

·         http://codedragon.tistory.com/6179

·         스프링 범위

·         http://codedragon.tistory.com/6038

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

전체적인 컴포넌트 설계 도식도 (게시판)

클라이언트의 요청에 대해서 Dispatcher 요청을 받아서 해당 Controller 전달합니다.

Controller에서 작업을 분기하고, 해당 Command클래스가 작동하여 DAO 이용한 데이터 베이스 작업을 합니다.

DAO클래스의 결과물인 DTO객체가 View(.jsp페이지) 전달되며, View에서는 클라이언트의 요청에 대한 응답으로 화면(UI) 구성하여 출력 합니다.

 


 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

에러메시지

Valid cannot be resolved to a type

Valid cannot be resolved to a type


 

 

 


해결방법

http://codedragon.tistory.com/6126

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

전자정부 표준프레임워크 퍼스트북

 


 

 

 

목차

1. 표준프레임워크 소개 ..... 1

2. 개발환경 구성하기........ 8

3. 개발자 개발환경 활용.....16

4. 서버 개발환경 활용......29

5. 실행환경 소개.............42

6. DI (Dependency Injection)...............45

7. Logging............60

8. AOP(Aspect Oriented Programming).........64

9. Data Access(MyBatis)..73

10. MVC(Model View Controller).......97

11. 국제화(Internalization) 113

12. Validation... 117

13. Comprehensive Practice....... 129

 

 

 

 

 

직접 다운로드

eGovFrame_FirstBook.z01

eGovFrame_FirstBook.zip

 

 

or

http://bit.ly/2BgSpFW

 

 




Posted by codedragon codedragon

댓글을 달아 주세요


 

 

프로퍼티 파일을 이용한 설정

Environment객체를 사용하지 않고 프로퍼티 파일을 직접 이용하여 스프링 빈을 설정하는 방법

 

 

 

 

프로퍼티 파일을 이용한 설정 방법 종류

·         스프링 설정 XML파일에 프로퍼티 파일을 명시 방법

·         스프링 설정 JAVA파일에 프로퍼티 파일을 명시 방법

 

 

스프링 설정 XML파일 프로퍼티 파일을 명시 방법

스프링 설정 XML파일에 프로퍼티 파일을 명시 합니다.


 

 

applicationCTX.xml

외부 파일을 가져오기 위해서는  아래의 context 요소로 추가해 주어야 합니다.

<context:property-placeholder location="classpath:admin.properties, classpath:db_admin.properties" />

 

<value>요소에 값을 직접 입력하지 않고  properties파일에 설정된 값을 가져와서 값을 지정하게 됩니다.

<property name="adminId">

<value>${admin.id}</value>

</property>

 

 

 

스프링 설정 JAVA파일 프로퍼티 파일을 명시 방법

스프링 설정 JAVA파일에 프로퍼티 파일을 명시 합니다.


 

 

ApplicationConfig.java

Properties() 메소드 정의하여 properties파일에 대한 정보를 설정합니다.

스프링 설정 XML파일에 프로퍼티 파일을 명시 방법에서 <context:property-placeholder>요소와 같은 역할을 합니다.

@Bean

public static PropertySourcesPlaceholderConfigurer Properties() {

PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();

// properties 파일 정보를 설정

Resource[] locations = new Resource[2];

locations[0] = new ClassPathResource("admin.properties");

locations[1] = new ClassPathResource("db_admin.properties");

configurer.setLocations(locations);

return configurer;

}

 

properties 파일에 있는 값을 가져와서 해당 변수에 설정해 줍니다.

properties 파일의 admin.id 있는 값을 변수 adminId 저장합니다.

@Value("${admin.id}")

private String adminId;

 

 


Posted by codedragon codedragon

댓글을 달아 주세요



관심의 분리 (Seperatrion of Concerns) 도식도

핵심관심모듈과 횡단관심모듈을 완전히 분리하는 것을 AOP라고 합니다.

AOP 핵심관심모듈(비즈니스 로직업무 로직) 코드를 직접 건드리지 않고 필요한 기능이 동작하도록 하는 데는 위빙(Weaving)이라고 하는 특수한 작업이 필요합니다.

, AOP에서 위빙 작업을 통해 핵심모듈 사이 사이에 필요한 횡단 관심 코드(공통 로직) 동작하도록 엮어지게 만든다.

 



 

공통 기능을 핵심 기능과 분리해 놓고공통 기능 중에서 핵심 기능에 적용하고자 하는 부분에 적용하는 것입니다.

구분

설명

핵심관심모듈

·         핵심 기능

·         Core Concerns, Primary Concern

·         비즈니스 로직 요소업무 로직

·         타겟(Target)

 

·         ex) 예금대출송금신용카드 기능

횡단 관심 모듈

·         부가기능

·         Cross-cutting Concerns

·         공통 로직

·         핵심관심모듈을 관통하여 사용되는 로직

·         핵심관심모듈을 지원하 기능적인 로직 요소

·         어드바이스(Advice)

·         횡단 관심이 없더라도 핵심관심 모듈을 수행할  없는 것은 아니지만 추가적인 기능이나 서비스를 제공해 줍니다.

·         보안인증로그트랜젝션등의 부가기능시스템 전반에 산재되어 사용되는 기능

 

·         ex) 예금,대출  로그를 남김으로써 입출금 내역을 제공해 줍니다.

위빙(Weaving)

·         핵심관심모듈과 횡단 관심 모듈을 연결해주는 역할

·         Framework에서 수행해 줍니다.

 

 



Posted by codedragon codedragon

댓글을 달아 주세요

2018. 10. 5. 09:00

Spring MVC Development/Spring

 

 

Spring MVC

·         WebBrowser 통해 Client 요청이 들어오면 DispatcherServlet 모든 요청을 처리합니다.

·         DispatcherServlet 작업요청을 HandlerMapping, HandlerAdapter, Controller, ViewResolver, View 보내게 됩니다.

·         DispatcherServlet 작업요청에 대해 Controller에게 전달을 하면 처리결과를 DispatcherServlet에게 응답을 줍니다. DispatcherServlet에서 ViewResolver 통해서 View 호출하게 됩니다. View 사용자에게결과로 보여지게 됩니다.

 

 


 

 


 

 

 

/SpringMVC/src/main/java/

com/tistory/codedragon/HomeController.java

·         Controller

·         Dispatcher에게 전달된 요청을 처리하는 역할

/SpringMVC/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml

·         스프링 컨테이너 설정 파일

/SpringMVC/src/main/webapp/WEB-INF/views/home.jsp

·         뷰파일

/SpringMVC/src/main/webapp/WEB-INF/web.xml

·         DispacherServlet 서블릿 맵핑

·         스프링 설정 파일(servlet-context.xml) 위치 정의

 

web.xml -> servlet-context.xml -> HomeController.java -> home.jsp

 


Posted by codedragon codedragon

댓글을 달아 주세요

 

오류메시지

"/ch10ex02/.settings/org.eclipse.wst.common.project.facet.core.xml" could not be read.        ch10ex02                Unknown        Faceted Project Problem

 


 

 

 

해결방법

오류메시지에서 마우스 우클릭 >> [Quick Fix]


 

[Create a new runtime environment] 선택 >> [Finish]


 

[Apache Tomcat v7.0] 선택 >> [Apply and Close]


 

 

eclipse 재시작


 

 

Posted by codedragon codedragon

댓글을 달아 주세요

 

 

스프링 빈 범위(Scope)

스프링 컨테이너가 생성되고, 스프링 빈이 생성 될 때, 생성된 스프링 빈은 scope을 가지고 있습니다.

범위(Scope)란 해당하는 객체가 어디까지 영향을 미치는지 결정하는 것이라고 생각하면 됩니다.

 

Posted by codedragon codedragon

댓글을 달아 주세요

 

Environment 객체

·       Environment객체를 이용해서 스프링 빈 설정을 합니다.

·       Environment 객체를 이용하여 properties 외부 설정파일을 이용할 수 있습니다.

·       Environment객체는 PropertySource객체들을 가지고 있으면 PropertySource객체에 데이터를 담아 관리를 합니다.

·       Environment객체에 getProperty('프로퍼티키')메소드를 호출하여 필요한 정보를 서치하면 해당하는 프로퍼티의 값을 반환해 줍니다.

 


 

 

Posted by codedragon codedragon

댓글을 달아 주세요