애정코딩 💻

WEB/SETTING 2020.06.03 댓글 0 Joana

Spring Setting 하기

Window - Eclipse Marketplace - sts 검색

 

제일 위에있는걸 설치합니다.

새로운 Spring 프로젝트를 생성합니다.

프로젝트 오른쪽 클릭 - properties - Project Facets 

적용해주시고, pon.xml 들어갑니다.

체크한 부분 변경 해주시면 됩니다.

변경후

스크롤 밑으로 쭉 내려서 plugin도 바꿔줄게요~

 

이렇게 하고 저장하면 메이븐이 열심히 다운로드합니다.

 

 

이제 마바티스, 스프링 연결 관련, 데이터베이스 등 라이브러리 다운로드하고 설정해 줄게요.

일단, 저는 spring 설정파일을 한 번에 보고 싶기 때문에 web.xml 에서

이 부분을 폴더에 넣어 주었어요 그러면 아래 그림처럼 같이 관리할 수 있습니다!

그리고 중요한것은 filter를 이용해서 인코딩을 해줍니다.

web.xml에 작성해주시면 됩니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
cs

 

이제 pom.xml에서 필요한 라이브러리를 다운로드할게요!

MyBatis 라이브러리를 추가해 줍니다. 공통적으로 들어가는 라이브러리입니다.

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
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- Spring-orm -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- Mybatis-Spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!-- dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- ojdbc6.jar -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
cs

사용하는 DB에 따라 추가되는 폼이 하나 더 있는데 

ojbc의 경우 Maven에서 제공하지 않는 라이브러리이기 때문에 설정해줘야 하는 게 있기 때문에

Oracle을 사용해볼게요!

 

roepositories는 properties 바로 밑에 작성해주셔야 돼요 그래야 밑에 있는 ojdbc를

Maven이 다운로드 설치할 수 있어요!

1
2
3
4
5
6
    <repositories>
        <repository>
            <id>codelds</id>
            <url>http://code.lds.org/nexus/content/groups/main-repo</url>
        </repository>
    </repositories>
cs

 

 

DB정보 선언해주는 properties를 만들어 줄게요.

 

src - main - resources에 오른쪽 클릭 - File

이름은 db.properties로 하겠습니다.

1
2
3
4
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:XE
user=
pw=
cs

유저 아이디, 비밀번호는 Oracle 아이디, 비밀번호 써주시면 됩니다.

 

그리고 DB와 Mybatis를 연결해줄 설정 파일을 만들어줍니다.

src - main- webapp - WEB-INF에 sqls파일을 만들어주고 그 안에 Configuration.xml을 만들어 줍니다.

이클립스 마켓에서 Mybatis를 추가했다면 Mapper를 쉽게 만들 수 있다. (그 전에는 DTD를 사용했는데 바뀐 거 같다)

처음본다. 신기하다...

하지만, 이건 mapper고, 제일 먼저 만들 것은 Configuration이기 때문에

mapper로 정의되어 있는 부분을 사진과 같이 바꿔주면 됩니다!

mapper 작성되어있던 부분 변경

 

지금까지 만든 파일들을 설정해줄 겁니다. 

 

우선 spring 폴더에 있는 root-context를 변경해줄 겁니다. 

 

root와 servlet의 차이는 

root는 공통 빈을 설정해주는 곳으로 view나 vean을 설정합니다. db, log 등등

servlet은 Dispatcher서블릿과 관련된 설정을 하는 곳이다. 

 

appServlet에 한 번에 관리하고 싶기 때문에 web.xml에서 경로를 바꿔줬습니다.

저는 root보다 applicationContext가 익숙해서 파일명도 바꿔주었습니다.

 

 

파일 안에 아무것도 없는데

OJDBC6, MyBatis3.x, Srping-orm, mybatis-Spring, Commoms-dbcp 설정해줄게요

 

그전에 방금 전 만든 db.properties를 설정해줍니다.

자동완성을 지원하기 때문에 class 적고 Property먼저 쓰시고 자동완성키를 누르면 목록이 나옵니다.

PropertyPlaceholderConfigurer클래스를 빈으로 등록하면 외부 프로퍼티를 스프링 설정 파일에서 사용할 수 있습니다.

1
2
3
4
5
6
7
8
<bean
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:db.properties</value>
            </list>
        </property>
    </bean>
cs

                                                             

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${user}" />
        <property name="password" value="${pw}" />
    </bean>
    
    <bean class="org.mybatis.spring.SqlSessionFactoryBean"
        id="sqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation"
            value="/WEB-INF/sqls/Configuration.xml"></property>
    </bean>
    
    <bean class="org.mybatis.spring.SqlSessionTemplate"
        id="sqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactoryBean"></constructor-arg>
    </bean>
    
    <bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
        id="dataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
cs

1. BasicDataSource 

DB와 연결해줄 드라이브, url, 아이디, 비밀번호 연결해줄 것입니다. 위에서 스프링 설정 파일에서 가지고 온

db.properties에서 el표현식으로 맵핑이 될 것입니다. 

만약 연결이 수정되었을 때 db.properties에서 변경하면 됩니다.

 

2.SqlSessionFactoryBean

Mybatis와 DB를 연결시켜줍니다. 실질적으로 SqlSessionFactory라는 객체가 이 역할을 합니다.

DB와 연결해줄 것이기 때문에 property로 dataSource를 참조하는 것을 볼 수 있습니다.

 

 

3.SqlSessionTemplate

SqlSeesion을 구현하고 그 코드에서 대체하는 역할을 합니다.

스레드에 안전하기 때문에 DAO나 매퍼 여러 개를 공유할 수 있습니다.

(Configuration에서 작성할 매퍼들)

 

4.DataSourceTransactionManager

Mybatis가 스프링 트랜잭션에 연동한다.

이때sqlSessionFactoryBean을 생성할 때 사용된 것과 반드시 동일한 것이어야 합니다.

 

 

이제 Configuration에 작성할 mappers을 만들어 줄게요!

src - main - resources에 sqls폴더를 만들고 xml파일을 만들어줍니다.

네임스페이스 설정해주고, 쿼리 작성해주시면 됩니다.

이 mapper를 bean이 DB와 연결시켜주기 위해 Configuration.xml 에 아래와 같이 작성합니다.

이곳에서 Aliases를 정해줄 수도 있습니다.

Configuration.xml
mapper파일인 text.xml

 

여기까지 기본 Spring 기본 셋팅입니다.

설명이 부족한 부분이나 틀린 부분은 조금씩 수정하겠습니다!

반응형

'WEB > SETTING' 카테고리의 다른 글

Spring Setting 하기  (0) 2020.06.03
Eclipse Maven Setting 설치부터 설정까지  (0) 2020.06.01
이클립스 마켓 실행 안될때  (0) 2019.09.17