스프링 세팅
다이나믹 웹 프로젝트에서 메이븐으로 바꾸고 pom.xml에서 의존성(디펜던시) 추가해서 스프링프레임워크 기능 추가
라이브러리를 추가하며 기본이 되는 형태를 만듬
xml 설정이 아닌 Java 코드로 설정
- web.xml 삭제 시 에러를 막기위해 플러그인에 false 추가 해야함
- rootConfig, servletConfig 만들어서 webConfig에 추가, 루트도 추가
- DB 연결 (테스트코드)
- HikariCP 사용해서 DB 연결(커넥션 풀을 이용하여 데이터베이스와 매번 연결하지 않음) (테스트코드)
- MyBatis(ORM): rootConfig에 설정 작성 DataSource, SqlSessionFactory
- 스프링 MyBatis 연동 확인(테스트코드)
- Mapper 설정 xml, interface 둘 다 사용
- xml 사용시 SqlSessionFactory mapper 위치 추가 / interface 사용시 어노테이션
- 복잡한건 xml, 단순하고 간단한건 interface
- xml 사용시 alias, 리턴타입, 파라미터 타입, <![CDATA[ (코드라인) ]]>, 동적 쿼리 문법 유용
- xml 위치 : resources/mapper/**/*.xml
- rootConfig @MapperScan 추가
- log4jdbc 추가
- resources/log4jdbc.log4j2.propreties 추가
-
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator log4jdbc.dump.sql.maxlinelength=0
- jackson databind 추가 @Responsebody, @RestController / DTO||VO -> JSON
- MVC 설정
- servletConfig에 prefix, suffix 추가
- viewClass(JstlView.class)를 추가하니 jstl 의존성이 반드시 있어야 화면단 보임
- 전체적인 설정 확인
확실히 여러 프로젝트를 직접 만들기를 반복하면서 눈에 익혀지는 것들이 많다
테스트코드 활용
에러에 대처하는 요령
라이브러리 조사해서 사용법 익히는 것
버전에 맞는 라이브러리 찾는것
프로젝트 구조
스프링에서 제공하는 편리한 기능들이 상당히 많다는 것
스프링 자체적인 흐름(디스패처서블릿에서 매핑으로 컨트롤러 찾아서 실행하고 모델담아서 서블릿컨텍스트 바탕으로 리졸버가 뷰찾고 다시 디스패처서블릿주고... 동적이면 톰캣이 랜더링하고 아니면 아파치가 그냥 꺼내쓰고...)
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 |