[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 2.5 설치 및 JDK 설치 및 변경
(1) 스프링 설치
위의 spring2.5.6버전을 설치한다.
(2) JDK 7 설치하기
JDK8을 인식못해서 JDK7을 설치해야 한다.
jdk7는 32비트로 설치해서 jdk8이랑 위치가 다른 곳에 설치된다.
7은 32비트, 8은 64 비트라 충돌은 없지만 , 8과 7을 같이 사용하기 때문에 기존에 이클립스에 있던
프로젝트들은 오류가 생긴다.
(3) JDK 7로 변경하기
1. 더블클릭해서 Overview 띄우기
2.
3.
4.
5.
6.
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
'Back-End > Spring Legacy' 카테고리의 다른 글
[Spring 2.5] 게시판 CRUD 만들기 (0) | 2022.03.23 |
---|---|
[Spring 2.5] Annotation (어노테이션) (0) | 2022.03.23 |
[Spring 2.5] AbstractWizardFormController, MultiTestController (0) | 2022.03.22 |
[Spring 2.5] SimpleFormController (0) | 2022.03.22 |
[Spring 2.5] DI, IoC 란? (0) | 2022.03.21 |
블로그의 정보
무작정 개발
무작정 개발