본문 바로가기
주제 없음

24.06.03

by Coarti 2024. 6. 3.

스프링 세팅

다이나믹 웹 프로젝트에서 메이븐으로 바꾸고 pom.xml에서 의존성(디펜던시) 추가해서 스프링프레임워크 기능 추가

라이브러리를 추가하며 기본이 되는 형태를 만듬

xml 설정이 아닌 Java 코드로 설정

  1. web.xml 삭제 시 에러를 막기위해 플러그인에 false 추가 해야함
  2. rootConfig, servletConfig 만들어서 webConfig에 추가, 루트도 추가
  3. DB 연결 (테스트코드)
  4. HikariCP 사용해서 DB 연결(커넥션 풀을 이용하여 데이터베이스와 매번 연결하지 않음) (테스트코드)
  5. MyBatis(ORM): rootConfig에 설정 작성 DataSource, SqlSessionFactory
  6. 스프링 MyBatis 연동 확인(테스트코드)
  7. Mapper 설정 xml, interface 둘 다 사용 
    • xml 사용시 SqlSessionFactory mapper 위치 추가 / interface 사용시 어노테이션
    • 복잡한건 xml, 단순하고 간단한건 interface
    • xml 사용시 alias, 리턴타입, 파라미터 타입, <![CDATA[ (코드라인) ]]>, 동적 쿼리 문법 유용
    • xml 위치 : resources/mapper/**/*.xml
    • rootConfig @MapperScan 추가
  8. log4jdbc 추가
    • resources/log4jdbc.log4j2.propreties 추가
    • log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
      log4jdbc.dump.sql.maxlinelength=0
  9. jackson databind 추가 @Responsebody, @RestController / DTO||VO -> JSON
  10. MVC 설정
    • servletConfig에 prefix, suffix 추가
    • viewClass(JstlView.class)를 추가하니 jstl 의존성이 반드시 있어야 화면단 보임
  11. 전체적인 설정 확인

 

 

 

확실히 여러 프로젝트를 직접 만들기를 반복하면서 눈에 익혀지는 것들이 많다

테스트코드 활용

에러에 대처하는 요령

라이브러리 조사해서 사용법 익히는 것

버전에 맞는 라이브러리 찾는것

프로젝트 구조

스프링에서 제공하는 편리한 기능들이 상당히 많다는 것

스프링 자체적인 흐름(디스패처서블릿에서 매핑으로 컨트롤러 찾아서 실행하고 모델담아서 서블릿컨텍스트 바탕으로 리졸버가 뷰찾고 다시 디스패처서블릿주고... 동적이면 톰캣이 랜더링하고 아니면 아파치가 그냥 꺼내쓰고...)

 

 

728x90

'주제 없음' 카테고리의 다른 글

MySQL 실행 계획, Index Hint  (0) 2024.06.11
240609  (0) 2024.06.09
신입 개발자 VS 코드 생성 AI  (0) 2024.05.06
Redis 라이센스 변경  (0) 2024.03.26
독감이야기 (2)  (2) 2024.01.11