[TIL] Spring 초기 설정하기

  1. 데이터베이스 설계를 먼저 해서 테이블들 구축해놓기.

  2. Spring Legacy Project에서 Spring MCV Project 생성하기.

  3. context path 설정하기

    https://sports.news.naver.com/wfootball/index에서
    sports.news.naver는 domain name, wfootball이 context path

  4. pom.xml 설정하기

    • pom(Project Object Mode).xml이라는 빌드 파일의 빌드 정보를 Maven이 읽어서 프로젝트를 빌드하고 라이브러리를 관리한다.

      Maven : 장점 = 빠름 (이전 실행내용 재사용), 단점 = 버그 많음
      Gradle : 장점 = 버그 별로 없음, 단점 = 느림

    1. line 10. <properties> 태그부터 끝까지 쭉 긁어서 지우고 셋팅된 내용으로 다시 밀어넣기.
    2. 프로젝트 우클릭 > Maven > Update Project > force 체크해서 업데이트.
  5. 프로젝트를 서버에 올려서 제대로 작동하는지 확인.

  6. 필요한 자바 파일들을 넣기 위한 패키지들 전체적으로 작성하기. (샘플 자바도 만들어놓으면 좋음)

    • controller model.dto model.mapper model.service
  7. servlet-context.xml 파일에서 controller 스캔 & root-context.xml 파일에서 model 스캔시키기.

    • <context:component-scan base-package="com.ssafy.after.controller" />
    • <context:component-scan base-package="com.ssafy.after.model"/>
      (root-context.xml은 namespace에서 context 체크)
  8. root-context.xml 파일에 MyBatis 관련 객체 3개 등록하기 (namespace에서 p 체크)

	<!-- 데이터베이스 관련 라이브러리 객체 3개는 항상 무조건 필요함! -->
	<!-- 1. 커넥션 관리 객체 (타이어)-->
	<context:property-placeholder location="classpath:db.properties "/>
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		p:driverClassName="${db_driver}"
		p:url="${db_url}"
		p:username="${db_username}"
		p:password="${db_password}" />
		
	<!-- 2. MyBatis 설정 객체 (휠)-->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
		p:dataSource-ref="dataSource"
		p:typeAliasesPackage="com.ssafy.baemung.model.dto"
		p:mapperLocations="classpath:/**/maapper/*.xml" />
	
	<!-- 3. 마이바티스 설정 + 예전 DAO에서 '?' 처리해주는 기능 구현되어 있는 객체(바퀴)-->
	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
		<constructor-arg ref="sqlSessionFactory" />
	</bean>
  1. web.xml 파일에 한글 파라미터 인코딩 관련 filter 등록하기
	<!-- 모든 Character에 대한 Encoding을 UTF-8로 하는 Filter & Filter Mapping 추가! -->
	<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>
  1. DTO, SQL 관련 Mapper(xml+interface) Service Controller 클래스 자바 파일들 작성하고 미리 애노테이션들 다 붙여놓기
    • @Controller @Service @Autowired 같은 애들 빠진거 없나 미리 확인해두기.
  2. DTO 클래스 변수 Getter Setter toString 채우기
    • lombok으로 채우거나 그냥 코드로 채우거나 선택
  3. Mapper(xml+interface)에 사용할 SQL 관련 설정들 다 작성하기 (interface 메소드 작성 후 xml에 mybatis SQL 작성)
  4. Service Controller jsp를 작성해서 한가지 기능씩 실행시키면서 작업하기

좋은 웹페이지 즐겨찾기