본문 바로가기

카테고리 없음

STS SPRING 프로젝트 생성 방법

# 프로젝트 생성

New ▶ Spring Legacy Project 클릭 ▶ Project name 작성 후 Templates 에서 Spring MVC Project 클릭 
 com.company.아무거나 작성후 Finish 


# 프로젝트 생성된 후 설정
우선, 프로젝트 우클릭 Properties ▶ Project Facets에서 Java 1.8로 수정 ▶ Java Build Path 에서 JRE버전 1.8로 수정 
pom.xml 클릭  Overview 에서 java-version : 1.8로 수정, org.springframework-version: 4.1.7.RELEASE로 수정후 저장
▶  src → main  webapp → WEB-INF 폴더 우클릭 New → Spring Bean Configuration file 클릭 후 dispatcher....으로 생성 (이름상관없음 web.xml에서 똑같이 먖춰주면 됌.) 
▶ web.xml 수정


# web.xml 수정


1. 필터 적용


1
2
3
4
5
6
7
8
9
10
11
12
13
    <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>
    </filter>
    
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
cs

이 필터를 소스코드를 넣어준다. (보통 </listener>아래에 넣어준다.)




2. 서블릿 적용


   -자신이 사용할 것에 맞추어 작성하면 된다. (앞에 WEB-INF에 dispatcher~ 로 만든 Spring Bean Configuration file)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    <!-- 지나 서블릿 -->
    <servlet>
        <servlet-name>ggServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-ginaa.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
        
    <servlet-mapping>
        <servlet-name>ggServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
cs


<param-value>/WEB-INF/dispatcher-ginaa.xml</param-value>

이부분을 내가 만든 dispatcher파일과 맞추어준다.


mapping부분의 url-pattern 부분은 내가 하고싶은대로 해도 된다

(하지만 controller안의 requestmapping 부분의 ~.do처럼 .뒷부분 패턴을 맞추어 줘야 한다.)



3. 이미지 및 CSS 파일 적용

-이미지 및 CSS 파일은 webapp에 생성해야 한다.


1
2
3
4
5
6
7
8
9
   <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.gif</url-pattern>
        <url-pattern>*.jpg</url-pattern>
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.PNG</url-pattern>
    </servlet-mapping>
cs







# View 렌더링 시키기


내가설정한 DISPATCHER ~.XML파일에 들어간다.


1
2
3
4
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/view"/>
    <property name="suffix" value=".jsp"/>
</bean>
cs

-이 소스코드 추가


InternalResourceViewResolver는 컨트롤러가 지정한 뷰 이름으로부터 실제로 사용될 뷰를 선택하는데,

이때 컨트롤러가 지정한 뷰 이름 앞뒤로 prefix와 suffix를 추가 한 값이 실제로 사용 될 자원의 경로가 된다.

JSP를 뷰 기술로 사용 할 경우에 반!드!시 등록해줘야 한다.



# 데이터 베이스 등록시키기(Oracle)


1
2
3
4
5
6
7
8
9
10
    <!-- [1] DataSource bean 선언 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
        <property name="url" value="jdbc:oracle:thin://@127.0.0.1:1521:xe" />
        <property name="username" value="DB아이디" />
        <property name="password" value="DB패스워드" />
    </bean>
cs

(ex : <property name="username" value="hr" />

<property name="password" value="a1234" />)


1
2
3
4
5
6
7
8
9
10
11
    <!-- [2] SqlSessionFactoryBean bean 선언 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!-- mapper등록 -->
        <property name="mapperLocations">
            <list>
                <value>classpath:config/productMapper.xml</value>
            </list>
        </property>
    </bean>
cs

(mapper가 늘어날때마다 list 의 value태그에 맵퍼 xml경로를 추가해 준다.)


1
2
3
4
5
    <!-- [3] SqlSessionTemplate bean 선언 -->
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg ref="sqlSessionFactory" />
    </bean>
cs





# pom.xml 파일에 데이터베이스, 마이바티스 등등을 쓰기위한 <dependency>를 추가해준다.


https://mvnrepository.com/ -- 메이븐 사이트에서 가져온다


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
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.1.7.RELEASE</version>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.10</version>
        </dependency>
cs