2019백업

6.20 스프링 세팅

728x90

 

개발환경


eclipse
mysql 8.0
java 1.6
spring 5.1.5
jstl 1.2
spring ibatis 2.0.8
commons collection
commons dbcp 
commons pool

pom.xml 세팅 추가

pom.xml 코드

...더보기
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  <modelVersion>4.0.0</modelVersion>
  <groupId>spring_mvc_ibatis</groupId>
  <artifactId>spring_mvc_ibatis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>spring_mvc_ibatis</name>
  <description>spring_mvc_ibatis</description>
  
  <repositories>
   <repository>
       <id>repo.adobe.com</id>
       <name>repo.adobe.com</name>
   </repository>
  </repositories>
  
  
  <dependencies>
      <!-- spring-context  -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.1.5.RELEASE</version>
    </dependency>
      <!-- spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.1.5.RELEASE</version>
    </dependency>
 
    
      <!-- jstl -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>oracle</groupId>
        <artifactId>ojdbc</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.15</version>
    </dependency>
    
 
    <!-- spring-ibatis -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-ibatis</artifactId>
        <version>2.0.8</version>
    </dependency>
    
    <!-- commons-collections -->
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>
    
    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
    </dependency>
    
    <dependency>
        <groupId>commons-pool</groupId>
        <artifactId>commons-pool</artifactId>
        <version>1.6</version>
    </dependency>
  </dependencies>
  
  
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.1</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs

 


스프링 3.0 라이브러리 기준 이해

core DI(Dependency Injection) 기능을 비롯한 프레임워크의 기반
beans BeanFactory 인터페이스를 통해 구현
e-pression 객체에 접급하고 객체를 조작하기 위한 표현 언어를 제공.
JSP 2.1 규약에 명시된 통합 EL(E-pression Language)을 확장
EL - ${message} = <%=pageContext.findAttribute("message")%>
JSP 2.0에서 추가
context spring-core와 spring-beans 모듈을 확장해서 국제화, 이벤트 처리, 
리소스 로딩, 서블릿 컨테이너를 위한 컨텍스트 생성 등의 기능을 
추가 ApplicationContext 인터페이스를 통해 구현
context.support Ehcache, 메일, 스케줄링, UI의 Velocity 지원 기능
aop AOP(Aspect-Oriented Programming) 구현
문제를 바라보는 관점을 기준으로 프로그래밍 하는 기법 
asm ASM(Assembly language source code file)의 재패키징
클래스 바이트코드 조작과 분석을 위한 라이브러리이다
aspects AspectJ와의 통합
Aspect-Oriented Java Extention
instrument Instrumentation 지원 클래스
instrument.tomcat 톰캣 서버를 위한 Instrumentation 지원 클래스
jdbc JDBC 프로그래밍을 위한 추상 레이어를 제공
JDBC 템플릿을 제공함으로써 간결한 코드로 
JDBC 프로그래밍을 할 수 있다.
jms JMS 메시지 생성 및 수신
orm 하이버네이트, JPA, Ibatis, JDO 등 ORM(Object-Relational Mapping) 
API를 위한 통합 레이어
oxm 객체와 XML 사이의 매필을 처리하기 위한 추상 레이어
JAXB, Castor, XMLBeans, JiBX, Xstream과의 연동을 지원
test Junit이나 TestNG를 이용한 스프링 컴포넌트의 테스트
web 파일업로드나 로케일 처리 등 웹을 위한 통합 기능을 제공
또한 원격 지원 기능 중 웹 관련 기능을 제공
web.portlet 포틀릿 환경에서 사용되는 MVC 구현
포틀릿-재사용 가능한 웹 구성요소
web.servlet 스프링 MVC를 제. JSP, Velocity에대한 뷰 연동
Velocity는 자바 기반의 템플릿 엔진이다. 
Velocity는 웹 페이지 디자이너들이 자바 코드안에서 정의된 메소들에 접근하는 것을 도와준다. 이것은 웹 페이지 디자이너들이 자바 개발자들과 함께 MVC 아키텍쳐에 따른 웹 사이트를 각자의 영역에서 최선의 결과를 가져오도록 도와준다는 것을 의미한다. 
Velocity는 웹 페이지로부터 자바 코드를 분리할 수 있고, 웹사이트를 계속 오랫동안 유지할 수 있으며, 자바 서버 페이지(JSP)의 실용적인 대안을 제공한다. 

[VTL(Velocity Templet Language) 예제]
    Hello, $customer.Name! <br>
    $flogger.getPromotion( $mud )
web.struts 스트럿츠 연동
transaction AOP를 이용한 선언적 트랜잭션 관리 및 
코드를 이용한 트랜잭션 관리 기능을 제공

 web.xml에서 ContextLoaderListener (root-context) 와 DispatcherServlet (servlet-context)을 생성하게 된다.

 

root-context : 이 컨텍스트에 등록되는 빈들은 모든 컨텍스트에서 사용되어 진다. (공유 가능)

 

servlet-context : 이 컨텍스트에 등록되는 빈들은 서블릿 컨텍스트에서만 사용되어 진다.

 

 

반응형

'2019백업' 카테고리의 다른 글

2. 프레임워크의 구성요소와 종류  (0) 2019.06.20
1. 디자인 패턴과 프레임워크  (0) 2019.06.20
JAVA-HashTable  (0) 2019.03.29
JAVA-ArrayList  (0) 2019.03.29
JAVA-Vector  (0) 2019.03.29