무작정 개발.Vlog

[Spring 2.5] spring2.5 설치&초기 세팅, JRE(JDK) 변경 방법

by 무작정 개발
반응형
2022.03.21(60일 차_월요일)

 

오늘부터 Spring Framework를 시작한다.

Spring 2.5를 배우고 3.0을 배우는데  2.5 버전을 쓸 때는 핵심기능 어노테이션을 쓰기 위해 jdk7버전을 쓰고

3.0을 쓸 때는 다른 툴을 설치하고 jdk8버전을 쓸 예정이다.

스프링에서는 객체 지향과 의존성 주입(IoC/DI)과 AOP(관점 지향 프로그래밍)가 핵심이다.

2.5에서는 객체 지향과 의존성 주업(IoC/DI)하고 3.0에서는 AOP를 추가해서 배울 예정

 

 

Spring Framework란?

 

Spring Framework는 Java Enterprise 개발의 효율성을 높이는 오픈소스 경략 애플리케이션 프레임워크이고,

기존 개발의 복잡성을 해결하기 위해 만들어졌다.

POJO 프레임워크 (비침투적 프레임워크) : 순수 java로 프로그래밍 가능

 

 

기술 도구

  • 제어의 역전(IOC)
  • 의존성 주입(DI)
  • 관점 지향 프로그래밍(AOP)

 

구성 요소

  • Spring Core : 핵심 클래스 존재 / 스프링의 가장 기본적인 문법을 가지고 있다.
  • Spring Context : 웹을 위한 기본 컨텐 치를 만든다 / web mvc 혹은 web을 만들 때 사용
  • Spring DAO : JDBC를 기본으로 하여, 스프링에서 제공하는 DB 연결 방법
  • Spring ORM : 스프링에서  iBatis / MyBatis 연결하는 기능
  • Spring AOP : 에러를 수시로 체크
  • Spring Web : 기본적인 웹 프로그램 지원 ( Struts, Struts2와 같은 다른 프레임워크와의 통합 지원)
  • Spring Web MVC : 데이터를 pdf 혹은 엑셀로 내보낼 수 있다.

Spring 구성 요소
Spring 구성 요소


Spring 2.5 설치 및 JDK 설치 및 변경

 

(1) 스프링 설치

spring-framework-2.5.6.zip
5.81MB

 

위의 spring2.5.6버전을 설치한다.

 

 

(2) JDK 7 설치하기

 

JDK7 설치
JDK7 설치

JDK8을 인식못해서 JDK7을 설치해야 한다.

jdk7는 32비트로 설치해서 jdk8이랑 위치가 다른 곳에 설치된다.

7은 32비트, 8은 64 비트라 충돌은 없지만 , 8과 7을 같이 사용하기 때문에 기존에 이클립스에 있던

프로젝트들은 오류가 생긴다.

 

 

(3) JDK 7로 변경하기

 

1. 더블클릭해서 Overview 띄우기

(3) JDK 7로 변경하기
노란색 부분 더블클릭

 

2. 

(3) JDK 7로 변경하기 2
(3) JDK 7로 변경하기

 

3.

(3) JDK 7로 변경하기 3
(3) JDK 7로 변경하기

4.

(3) JDK 7로 변경하기 4
(3) JDK 7로 변경하기 4

5.

(3) JDK 7로 변경하기 5
(3) JDK 7로 변경하기 5

6.

(3) JDK 7로 변경하기 6
(3) JDK 7로 변경하기 6

7.

(3) JDK 7로 변경하기 7
(3) JDK 7로 변경하기 7

8.

(3) JDK 7로 변경하기 8
(3) JDK 7로 변경하기 8

jre7이 defalut 됐다면 끝난 것이다.

jdk8로 변경할 때는 위의 8쪽의 체크 박스는 선택 후 Apply and close를 클릭하면 된다.

 

여기까지 하면 스프링&JDK 설치 끝이다. 이젠 스프링 환경 세팅만 하면 된다.


Spring 2.5  환경 세팅

 

applicationContext.xml 작성

  • 스프링에 DB를 연결하기 위해 Spring에서 iBatis를 세팅해준다.
<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
		http://www.springframework.org/schema/aop 
		http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-2.5.xsd
		http://www.springframework.org/schema/util 
		http://www.springframework.org/schema/util/spring-util-2.5.xsd">
    
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
	<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
	<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
	<property name="username" value="suzi"/>
	<property name="password" value="a123"/>
</bean>

<bean>의 id는 사용자 정의이고, <property name>는 set으로 시작하는 class 메서드이다.

메서드명에서 set을 제외한 나머지 이름을 적어주고, value에 이전에 JDBC처럼 값을 입력해준다.

 

 

(2) - 트랜잭션을 처리하기 위한 코딩

<!-- Transaction 처리 --> <!-- 이 클래스를 가지고 트랜잭션 처리를 한다. -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="dataSource"/>  <!-- 메서드로 의존성 주입(DI)(위의 dataSource를 불러옴) -->
</bean>  <!-- name은 메서드명이라 바뀌면 안됌 / ref는 위의 dataSource(id)가져오는것.트랜잭션이 감싸듯 위의값이 들어온다. -->

<!-- sqlMapClientTemplate 안에 sqlMapClient가 있고 이 안에 dataSource가 있어서
	 sqlMapClientTemplate를 갖다 쓰면 나머지 2개도 딸려온다.  (이걸 Ioc: 제어의 역전 이라 한다.)-->
<bean id="sqlMapClientTemplate"
class="org.springframework.orm.ibatis.SqlMapClientTemplate"
p:sqlMapClient-ref="sqlMapClient"/>


<!-- iBatis를 연결할려면 클라이언트 필요 --><!-- dataSource와 sqlMapConfig.xml를 같이 불러온다. -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" 
p:dataSource-ref="dataSource"
p:configLocation="WEB-INF/sqlMapConfig/sqlMapConfig.xml"/>

ref = ""는 참조한다는 뜻이고, ""에는 id값을 입력한다.

 

따라서 transactionManager는 dataSource를 참조하고, transaction Mager로 dataSource를 감싼다.

sqlMapClientTemplate는 sqlMapClient를 참조(감싼다)고, sqlMapClient는 dataSource를 감싼다.

 

최종적으로 상위 구조부터 살펴보면

transactionManager > sqlMapClientTemplate > sqlMapClient > dataSource 순으로 된다.

이런 관계가 모두 IOC (제어의 역전)이다.

 

 

sqlMapConfig.xml 작성
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-/ibatis.apache.org//DTO SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">


<!-- cacheModelsEnabled="false" -> 캐쉬를 사용하지 말라는 뜻 -->
<!-- useStatementNamespaces -> sqlMap.xml에서 namespace 사용가능하게 해줌 -->
<!-- <dataSource type="SIMPLE"> -> 단일 DB사용 -->
<!-- property : 등록 -->
<!-- sqlMap resource :  com/util/sqlMap/boardTest_sqlMap.xml 를 불러옴-->

<!-- Config(환경설정파일) -->
<sqlMapConfig>
	<settings
	cacheModelsEnabled="false"	
	useStatementNamespaces="true"/> 
	
	<sqlMap resource="com/util/sqlMap/bbs_sqlMap.xml"/>
</sqlMapConfig>

여기에 xml파일을 만들 때마다 등록해주면 된다.

 


초기 세팅 끝~

 

자세한 소스는 하단 깃허브 참고!

https://github.com/chaehyuenwoo/Spring/tree/main/spring

 

GitHub - chaehyuenwoo/Spring: Spring Framework

Spring Framework. Contribute to chaehyuenwoo/Spring development by creating an account on GitHub.

github.com

 

반응형

블로그의 정보

무작정 개발

무작정 개발

활동하기