[TIL] 240411

Geehyun(장지현)·2024년 4월 14일

TIL

목록 보기
59/70
post-thumbnail

Today

  • Model Mapper 라이브러리
    : VO -> DTO 객체로 전환하는 과정을 보조해주는 라이브러리

    1. MVN REPOSITORY 에서 ModelMapper 검색 링크

    2. Gradle 부분으로 복사 후 적용

    3. MapperUtil 만들기

      package org.fullstack4.chap1.util;
      
      import org.modelmapper.ModelMapper;
      import org.modelmapper.config.Configuration;
      import org.modelmapper.convention.MatchingStrategies;
      
      public enum MapperUtil {
          INSTANCE;
          private ModelMapper modelMapper;
      
          MapperUtil() {
              this.modelMapper = new ModelMapper();
              this.modelMapper.getConfiguration()
                      .setFieldAccessLevel(Configuration.AccessLevel.PRIVATE)
                      .setMatchingStrategy(MatchingStrategies.STRICT);
          }
          public ModelMapper getModelMapper() {
              return modelMapper;
          }
      }
  • log4j
    : 넌 뭐하는 놈이냐

    1. MVN REPOSITORY 에서 log4j 검색
      log4j Core 링크
      log4j api 링크
      log4j SLF4J 링크
      * 위 3개는 모두 서로 버전을 맞춰줘야 함.
    2. Gradle 부분으로 복사 후 적용
    3. log4j 관련 환경설정 파일 추가
      경로 : src > main > java > resources > log4j2.xml
      <?xml version="1.0" encoding="UTF-8" ?>
       <configuration status="INFO">
           <Appenders>
               <Console name="CONSOLE" target="SYSTEM_OUT">
                   <PatternLayout charset="UTF-8" pattern="%d{hh:mm:ss} %5p [%c] %m%n" />
               </Console>
           </Appenders>
           <loggers>
               <logger name="org.fullstack4" level="INFO" additivity="false">
                   <append-ref ref="CONSOLE" />
               </logger>
               <logger name="org.fullstack4.mapper" level="INFO" additivity="false">
                   <append-ref ref="CONSOLE" />
               </logger>
               <root level="INFO" additivity="false">
                   <AppenderRef ref="CONSOLE" />
               </root>
           </loggers>
       </configuration>
  1. 로그 남기는 법
    @Log4j2
     @WebServlet("/bbs/modify")
     public class BbsModifyController extends HttpServlet {
         private BbsService service = BbsService.INSTANCE;
         @Override
         protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
             int idx = CommonUtil.parseInt(req.getParameter("idx"));
            if (idx <= 0) {
                System.out.println("이상한 idx");
                resp.sendRedirect("/bbs/list");
            } else {
                try {
                    BbsDTO dto = service.bbsView(idx);
                    req.setAttribute("view",dto);
                } catch (Exception e) {
                    log.info("=======================================");
                    log.info("수정 에러" + e.getMessage());
                    log.info("=======================================");
                    e.printStackTrace();
                }
                req.getRequestDispatcher("/WEB-INF/views/bbs/modify.jsp").forward(req,resp);
            }
         }
     }
  • IntelliJ 에서 src 폴더 안나올 때
    => 프로젝트 폴더 내 idea 폴더가 없어졌거나 문제가 생긴 경우 발생하는 듯
    1. 냅다 .idea 폴더를 지워버리고, 프로젝트 다시 열기
    2. 파일 > 프로젝트 구조 > 모듈 > + 버튼 > 모듈 가져오기 > 문제의 프로젝트 루트 폴더 불러오기
      [참고]
      jade_yujeong.log님의 블로그
      jie0025님의 블로그

Review

  • 롬복...좋은 친구...멋진 친구!!!
  • 히카리CP는 왜 쓰는지 아직 잘 모르겠다!
    점점 기본 문범 외 갖고와서 쓰는게 많아지고 있어서, 조금 혼란스럽지만 익숙만해지면 정말 좋은 친구들인 것 같다.
  • 정처기 실기....공부해야한다!!
profile
블로그 이전 했습니다. 아래 블로그 아이콘(🏠) 눌러서 놀러오세요

0개의 댓글