ํ๋ก์ ํธ ์์ฑ, ์ค์ ๋ฐฉ๋ฒ
ํ๋ก์ ํธ ์ค์ ํ๋ ๊ณผ์ ์ด ์์ํ๊ณ ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ์์ธํ ๊ธฐ๋กํด๋๊ณ ์ฐ์ต์ ๋ง์ด ํด์ผํ ๊ฒ ๊ฐ๋ค.
1. Spring Legacy Project ๋ก ํ๋ก์ ํธ ์์ฑ
2. ์๋ฐ ๋ฒ์ ๋ณ๊ฒฝ (Project Facets๊ณผ pom.xml์์)
1) Project Facets
ํ๋ก์ ํธ ์ฐํด๋ฆญ > properties > project facets
2) pom.xml
3. web.xml ์์ ํ๊ธ ๊นจ์ง ๋ฐฉ์ง ์ค์
์ฝ๋๋ ๋งค๋ฒ ๋ณต๋ถํ๋ฉด ๋๋ค. ์ธ์ฐ๊ธฐ๋ณด๋จ ์ด๋ค ์ฝ๋์ธ์ง ์ดํดํ๊ธฐ.
> ์ฝ๋ ๋ณต๋ถ ๋๋ณด๊ธฐ
ํ๊ธ ๊นจ์ง ๋ฐฉ์ง ์ฝ๋๋ฅผ web.xml์ ์ฝ์
<!-- ํ๊ธ ๊นจ์ง ๋ฐฉ์ง ์ค์ -->
<!-- ์๋ฒ๊ฐ ์ผ์ง๋ฉด ๊ฐ์ฅ ๋จผ์ ์ฝ๊ฒ๋๋ ํ์ผ -->
<!-- ํ๊ธ๊นจ์ง : ํน์ ํ ์์ฒญ์ด ์ค๋ฉด ํน์ ํด๋์ค๋ก ์ฐ๊ฒฐํด์ ํ๊ธ ๊นจ์ง์ ๋ฐฉ์ง -->
<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>
4. server path ๋ณ๊ฒฝ
server path๋ ์นํ์ด์ง ์ฃผ์์ฐฝ์ ๋จ๋ ์ฃผ์์ธ๋ฐ ๊ทธ ๋ถ๋ถ์ ์์ ํด์ค ์ ์๋ค.
Path ๋ถ๋ถ์ด /main์ผ๋ก ๋์ด์๋ค.
Path ๋ถ๋ถ์ / ๋ผ๊ณ ๋ง ํด๋ ๊ฒ์ด๋ค.
์ค๋ฅธ์ชฝ์ Edit ์ ๋๋ฌ ์์ ํด์ค๋ค.
์ด๋ฐ ์ค์ ํ์ผ๋ค(web.xml, pom.xml, server ๋ฑ)์ ์์ ํ ๋ค์๋ ์๋ฒ๋ฅผ ๊ป๋ค ์ผ์ค์ผ
์์ ํ ๋ถ๋ถ์ด ๋ฐ์๋๋ค.
์๋ฒ๋ฅผ ๋ ๋ค์ ์์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค...
5. pom.xml ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ
ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค๋ฉด pom.xml์ ์ค์ ํด๋๊ณ
maven ์ด ์์์ pom.xml์ ์ฝ๊ณ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ค์ด๋ฐ์์ค๋ค..
์ถ๊ฐํด ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ DB๊ด๋ จ 5๊ฐ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ
1) ojdbc : DB ์ ์์ ๋์์ค๋ค.
<!-- ojdbc : DB ์ ์ --> <!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client --> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>2.7.2</version> </dependency>
2) dbcp : ์ปค๋ฅ์ (DB์์ ๋ฌด์ธ๊ฐ๋ฅผ ํ ์ ์๋ ํค) ํ ์ฌ์ฉ
<!-- dbcp : ์ปค๋ฅ์ (DB์์ ๋ฌด์ธ๊ฐ๋ฅผ ํ ์ ์๋ ํค) ํ ์ฌ์ฉ --> <!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency>
3) spring-jdbc : DB์ SPRING์ ์ฐ๊ฒฐ ํด์ค๋ค.
<!-- spring-jdbc : DB ์ฐ๊ฒฐ๊ณผ SPRING์ ์ฐ๊ฒฐํด์ค๋ค. --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework-version}</version> </dependency>
4) mybatis : XML ์ฟผ๋ฆฌ๋ฌธ์ ํน์ ์ธํฐํ์ด์ค์ ์ฐ๊ฒฐํด์ฃผ๋ ๊ธฐ๋ฅ
<!-- mybatis : XML ์ฟผ๋ฆฌ๋ฌธ์ ํน์ ์ธํฐํ์ด์ค์ ์ฐ๊ฒฐํด์ฃผ๋ ๊ธฐ๋ฅ --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency>
5) mybatis-spring : ๋ง์ด๋ฐํฐ์ค์ ์คํ๋ง์ ์ฐ๊ฒฐ
<!-- spring-mybatis : ๋ง์ด๋ฐํฐ์ค์ ์คํ๋ง์ ์ฐ๊ฒฐํด์ค๋ค. --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.2</version> </dependency>
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค ์ถ๊ฐ๋ฅผ <!-- AspectJ --> ์์ ํด์ค๋ค. ์์น๋,, ์๊ด์๋? ๋ชจ๋ฅด๊ฒ ๋๋ฐ
์ผ๋จ ํน์ ์์น๋ฅผ ์ ํด๋๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค. ๋ณด๊ธฐ ํธํ๋๊น
6. servlet-context.xml ์ถ๊ฐ ์ค์
src > main > webapp > WEB-INF > spring > appServlet > servlet-context.xml
servlet-context.xml ์์๋ DB์ ๊ด๋ จ๋ ์ค์ ์ ์ถ๊ฐํด์ค๋ค.
์์น๋ <context:component-scan ...> ๋ฐ์ผ๋ก ํต์ผ.
1 ) DB ์ ์ ์ ๋ณด์ DB ์ ์ ๋ค์๊ณผ ๋น๋ฐ๋ฒํธ ํ์ธ
2) ๋ง์ด๋ฐํฐ์ค ์ฌ์ฉ ์ค์ ์ mapperLocation ์์น ์ค์ ํ์ธ
3) ๊ฐํธ ์ฌ์ฉ ์ค์ ์ base-package ์์น ์ค์ ํ์ธ
์ฝ๋ ๋ณต๋ถํ๋ค๋ณด๋ฉด ์์น ์ค์ ๋ณ๊ฒฝ์ ๊น๋นกํ ์ ์๋๋ฐ ์ค๋ฅ๊ฐ ๋๋ฏ๋ก ๊ผญ ๊ผญ ํ์ธํด์ฃผ๊ธฐ!
<!-- ์ ์ ์ ๋ณด --> <beans:bean name="datasource" class="org.apache.commons.dbcp.BasicDataSource"> <beans:property name="driverClassName" value="org.mariadb.jdbc.Driver"/> <beans:property name="url" value="jdbc:mariadb://localhost:3306/mydb"/> <beans:property name="username" value="web_user"/> <beans:property name="password" value="pass"/> </beans:bean> <!-- ๋ง์ด๋ฐํฐ์ค ์ฌ์ฉ ์ค์ --> <!-- name = ํ์์์(์ด๋ฆ์ด ์ ํด์ ธ ์์) / id = ์ ํ์์(์ด๋ฆ์ด ์ ํด์ ธ ์์ง ์์) --> <!-- ์ด๋ค DB๋ฅผ ์ธ๊ฑด์ง ์ ๋ณด ์ ๊ณต --> <!-- ์ฟผ๋ฆฌ๋ฌธ(xml)์ด ์ด๋์ ์๋์ง ์ง์ --> <beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <beans:property name="dataSource" ref="datasource"/> <beans:property name="mapperLocations" value="classpath:com/test/main/dao/*.xml"/> </beans:bean> <!-- ๊ฐํธ ์ฌ์ฉ ์ค์ (๋ง์ด๋ฐํฐ์ค ์ฌ์ฉํ๋ ํจํค์ง ๋ฒ์) --> <mybatis-spring:scan base-package="com.test.main.dao"/>
์ค์ ์ฝ๋๋ฅผ ๋ฃ๊ณ ๋๋ฉด ๊ฐํธ ์ฌ์ฉ ์ค์ ์ฝ๋๊ฐ ๋นจ๊ฐ๊ฒ ๋๋ค.
Namespaces ๋๋ฅด๊ณ mybatis-spring ์ฒดํฌ๋ฐ์ค ์ฒดํฌ ํด์ฃผ๊ธฐ
7. ํจํค์ง ์์ฑ, ํ์ํ ํ์ผ ์์ฑ
ํ์ํ ํจํค์ง๋ฅผ ์์ฑํด ์ฌ์ฉํ๋ค.
ํจํค์ง๋ ์์ฑ ํ ๋ค์ ์ด๋ฆ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ง์ฐ๊ฑฐ๋,, ๊ฑด๋ค์ง ๋ง,, ์ฌ๋ฌ๋ชจ๋ก ๋ณต์กํด์ง๋๊น ,,
ํด๋์ค๋ช ์ ๋ณ๊ฒฝํด๋ ๊ด์ฐฎ๋ค.
- mapper.xml ํ์ ์ฝ๋
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mvc.member.dao.MemberDAO"> <!-- ๋ด์ฉ --> </mapper>
* mapper namespace ์ค์ ํด์ฃผ๋ ๊ฑธ ์ข ์ข ๊น๋จน๋๋ฐ,, ์ฃผ์ํ ๊ฒ!
์ฌ๊ธฐ๊น์ง ํด์ฃผ๋ฉด ์คํ๋ง ํ๋ก์ ํธ ๊ธฐ๋ณธ ์ค์ ์ด ๋๋๋ค.
'Back-End > SPRING' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
build ] spring ํ๋ก์ ํธ tomcat์ผ๋ก buildํ๊ธฐ (0) | 2022.07.18 |
---|---|
SPRING] ์ธ๋ถ ํ๋ก์ ํธ ํ์ผ์ด ์ ๋๋ก import ๋์ง ์์ ๋ (0) | 2022.05.23 |
SPRING] ์ด๊ธฐ ์ค์ , ํ๋ก์ ํธ ์์ฑ ๋ฐฉ๋ฒ (0) | 2022.05.23 |