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로 정의되어 있는 부분을 사진과 같이 바꿔주면 됩니다!
지금까지 만든 파일들을 설정해줄 겁니다.
우선 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를 정해줄 수도 있습니다.
여기까지 기본 Spring 기본 셋팅입니다.
설명이 부족한 부분이나 틀린 부분은 조금씩 수정하겠습니다!
'WEB > SETTING' 카테고리의 다른 글
Spring Setting 하기 (0) | 2020.06.03 |
---|---|
Eclipse Maven Setting 설치부터 설정까지 (0) | 2020.06.01 |
이클립스 마켓 실행 안될때 (0) | 2019.09.17 |
WEB/SETTING 카테고리의 다른 글
Eclipse Maven Setting 설치부터 설정까지
이클립스 마켓 실행 안될때