(spring) Spring 환경세팅

1 분 소요

1. 이클립스 세팅

  • 프로젝트를 하나로 반디집으로 압축해서 관리

2. putty

  • www.skysky.xyz

3. WAS

톰켓은 동접 5000명까지 가능

4. ojdbc 각 버전별 특징

  • jdk 버전 별로 ojdbc 버전을 맞춰줘야 한다.
    ojdbc13 =  jdk1.3
    ojdbc14 =  jdk1.4
    ojdbc5  =  jdk1.5
    ojdbc6  =  jdk1.6
    

5. 프로젝트 폴더구조

1) maven 폴더

  • settings.xml에 메이븐 다운로드 위치를 바꿔줘야함.
  • 안그러면 user/m2 에 있는 repository에 디폴트로 생성된다. ~~~xml
C:\sinsp\maven\m2\repository

## 6. 여러 유용한 eclipse plugin
1. AnyEdit - 단축키로 카멜케이스나, 변수이름을 단축키로 바꿔줌


## 7. url구조를 바꿔주는 것
1. hosts파일 세팅을 바꿔줘야함( 호스트 경로 = C:\Windows\System32\drivers\etc)
2. localhost 세팅을 바꿔줄 수 있다.

localhost name resolution is handled within DNS itself.

127.0.0.1 localhost

::1 localhost

127.0.0.1 www.xxx.com


## 8. pom.xml 설정
alt + f5를 사용해서 maven 업데이트를 해주어야 한다.
- 버전 바꾸기

~~~xml

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java-version>1.8</java-version>
  <org.springframework-version>4.3.18.RELEASE</org.springframework-version>
  <org.aspectj-version>1.9.1</org.aspectj-version>
  <org.slf4j-version>1.7.25</org.slf4j-version>
  <spring-security.version>4.2.7.RELEASE</spring-security.version>
  <org.apache.tiles-version>3.0.8</org.apache.tiles-version>
</properties>

  • 버전에 맞는 plugin 세팅

<build>
      <plugins>
         <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.9</version>
            <configuration>
               <additionalProjectnatures>
                  <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
               </additionalProjectnatures>
               <additionalBuildcommands>
                  <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
               </additionalBuildcommands>
               <downloadSources>true</downloadSources>
               <downloadJavadocs>true</downloadJavadocs>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
               <source>${java-version}</source>
               <target>${java-version}</target>
               <encoding>UTF-8</encoding>
               <compilerArgument>-Xlint:all</compilerArgument>
               <showWarnings>true</showWarnings>
               <showDeprecation>true</showDeprecation>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <configuration>
               <mainClass>org.test.int1.Main</mainClass>
            </configuration>
         </plugin>

         <!-- JavaDoc -->
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.5</version>
         </plugin>
        
      </plugins>
   </build>

9. web.xml 설정

context-param, servlet 를 실행할 떄 읽어옴

  • web.xml 설정 바꾸기
<context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:config/spring/com/**/context-*.xml</param-value>
   </context-param>
   <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>/WEB-INF/config/*-context.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>*.do</url-pattern>
      <url-pattern>//*</url-pattern>
   </servlet-mapping>

10. context.xml 수정

<?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:context="http://www.springframework.org/schema/context"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xmlns:p="http://www.springframework.org/schema/p"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
      http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">

   <context:component-scan base-package="kr.co.sinsp">
      <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
      <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
      <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
   </context:component-scan>

   <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0" />

   <bean id="JSON_VIEW" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
      <property name="contentType" value="application/json;charset=UTF-8" />
   </bean>

   <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1"
      p:viewClass="org.springframework.web.servlet.view.JstlView"
      p:prefix="/WEB-INF/views/"
      p:suffix=".jsp">
   </bean>

   <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" p:order="2" />

   <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
      <property name="messageConverters">
         <list>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
               <property name="supportedMediaTypes">
                  <list>
                     <value>text/plain;charset=UTF-8</value>
                     <value>application/json;charset=UTF-8</value>
                  </list>
               </property>
            </bean>
         </list>
      </property>
   </bean>

   <!-- spring 파비콘 적용법 -->
   <!-- <mvc:resources mapping="/favicon.ico" location="/favicon.ico" /> -->
</beans>

11. context-common.xml 추가

  • /src/main/resources/ : 패키지에
  • config/spring/com/: 폴더경로 생성
  • context-common.xml : xml 파일 생성
<?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:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

   <!-- 등록해야 할 Bean 클래스를 scan해서 대상이 되는 클래스를 자동으로 Spring Bean으로 등록하는 <context:component-scan> 태그 -->
   <!-- context:exclude-filter 빈으로 등록을 안하겠다는 선언 -->
   <context:component-scan base-package="kr.co.sinsp">
      <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
      <context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
      <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
   </context:component-scan>
</beans>
## 폴더구조
webapp 직접 접근가능
WEB-INF 컨트롤러를 통해 접근 가능

Spring 설정 참고

댓글남기기