날아라쩡글이의 블로그입니다.
Project Object Model.xml설정, 로그설정 본문
중앙 HTA (2106기) story/spring java framwork story
Project Object Model.xml설정, 로그설정
날아라쩡글이 2021. 12. 31. 13:46728x90
반응형
- <groupId>com.sample</groupId> = 회사 도메인
- <artifactId>spring-mybatis</artifactId> = 프로젝트명
- <version>0.0.1-SNAPSHOT</version> = 버젼의 넘버링
- <packaging>war</packaging>
- 톰켓서버의 배포
- Jar
- 자바의 application을 압축한 폴더
- War
- web package(web)의 package를 압축한 폴더
- Ear
- 자바를 EJB서버를 이용해서 압축한 폴더
- 우리는 web을 만들기 때문에 war로 설정한다.
- Jar
- 톰켓서버의 배포
- <properties> = 앞으로 작성할 때 사용할 방식
- encoding=<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- 자바의 버젼=<maven.compiler.source>11</maven.compiler.source>
- 스프링의 버젼= <spring.version>5.3.14</spring.version>
- 그럼 앞으로 스프링 버젼이 동일하다면 <version>${spring.version}</version>사용할 수 있다.
- <artifactId>spring-context</artifactId> 와 <artifactId>spring-webmvc</artifactId>의 차이
- spring-context
- web용 springContainer의 jar파일이다.
- 웹서버에서 container만 제공해준다.
- spring-webmvc
- model2기반의 controller, model, view를 나눠서 개발할 수 있게 지원한다.
- 컨트롤러를 생성한다.
- spring-context
- <artifactId>mybatis</artifactId>
- SQLSessionFactory를 생성하게 한다.
- <artifactId>mybatis-spring</artifactId>
- mapperScanerConfig객체가 생성하게 만든다.
- Dao의 interface 구현객체를 bean으로 등록되게 만들어주는 객체이다.
- 프로그램의 실행로그를 출력해주는 것 log4j로 apachi꺼가 많은 사용을하고, 해당 파일을 사용하기 위해서
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency> - spring-context을 설정해주고, commons- logging을 설정해주어야한다.
spring-framwork의 경우 commons-로그를 자동으로 추가하고 사용하려고 하는데 그걸 사용하지 않고,
apachi의 log4j를 사용하겠다는 선언이다. - log4j2.xml설정방법
-
- <Appenders>
- 출력방향을 지정하는 곳
- <Console name="stdout" target="SYSTEM_OUT">
- 콘솔, DB, File로 출력이 되는 곳을 정할 수 있다.
- <PatternLayout pattern="%d{HH:mm:ss} %5p [%c{1.}] %m%n" />
- 출력의 패턴을 정할 수 있다
- <Loggers>
- 로그의 방향을 지정할 수 있다.
- <Logger name="org.springframework" level="debug" />
- 특정클래스를 지정할 수 있다.
- <Root level="error">
<AppenderRef ref="stdout" />
</Root>- 기본 레벨은 error레벨이다.
- 로그는 프로그램 중간,중간에 라이브러리가 들어가 있다.
출력을 지정하게 되면 로그로 출력이 될 수 있고,
그걸보고 개발자들과 운용환경에서 확인이 가능하다. - log레벨
- debug
- 프로그램 실행과 관련된 상세한 정보를 출력한다.
- 개발할 때 level을 많이 설정해둔다.
- info
- 프로그램 실행 정보
- warn
- 프로그램실행에 영향을 끼치지 않는 오류정보
- error
- 프로그램 실행 중 발생한 오류정보
- 운용환경에서는 많이 설정한다.
- 프로그램 실행 중 발생한 오류정보
- fatal
- 프로그램 실행중 발생한 치명적인 오류 정보
- 로그레벨은 설정해둠으로 표현하는 게 삼각형이다.
- info로 설정하면 debug가 출력안되고, warn으로 설정하면 debug와 info가 출력되지 않는다.
- debug
- <Appenders>
- books.xml처럼 Dao의 객체를 만드는 SQL의 구문이 작성되어 있는 곳은 꼭 mapper의 namespace속성을 추가하여 dao 인터페이스가 있는 곳의 링크를 걸어줘야한다.
form객체로 가져올 경우 Date는
@DateTimeFormat(pattern="yyyy-MM-dd") 설정해야한다. 외국과 한국에서 date설정이 다른것처럼 설정을 정해줘야한다.
proxy객체
- BookDao의 인터페이스를 구현한 객체는 <mybatis-spring:scan base-package="com.sample.dao" factory-ref="sqlSessionFactory"/>의 mapperScannerConfig라는 객체 내부에 존재하고 있다.
그래서 logging으로 console에 나오는 것을 확인하면 mapper라고 작성이 되어있는데,
구현과 상속을 위해서 객체를 생성하고 mapper내부에 있는 객체를 프록시 객체, proxy객체라고 한다.
반응형
'중앙 HTA (2106기) story > spring java framwork story' 카테고리의 다른 글
다이나믹 쿼리(select문 하나로 여러 쿼리를 조회하다.) (0) | 2022.01.04 |
---|---|
RedirectAttributes,Model 의 차이점 (0) | 2022.01.02 |
myBatis-spring 실습 (xml환경 설정) (0) | 2021.12.30 |
myBatis(SQL mapperFrameWork) (0) | 2021.12.30 |
어노테이션 설정하기 (0) | 2021.12.29 |
Comments