Programming 73

[Spring] log4j vs slf4j

log4j log4j는 3개의 Components들로 이루어져있다. logger : 데이터 기록. appender : 데이터가 어디에 기록되는지 설정. layout : 데이터 스타일 설정. 장점 thread safe 퍼포먼스 최적화 여러 종류의 appender 지원 jul에 비해 명확한 기준의 레벨을 가지고 있다. (ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL) private static Logger logger = LogManager.getLogger(ViewController.class); logger.info("내용"); logger.warn("내용"); logger.debug("내용"); logger.error("내용"); slf4j slf4j는 logging 관..

Programming/Spring 2021.10.29

[Spring] application.properties 우선순위

유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties 테스트에 있는 @TestPropertySource @SpringBootTest 애노테이션의 properties 애트리뷰트 커맨드 라인 아규먼트 SPRING_APPLICATION_JSON (환경 변수 또는 시스템 프로티) 에 들어있는 프로퍼티 ServletConfig 파라미터 ServletContext 파라미터 java:comp/env JNDI 애트리뷰트 System.getProperties() 자바 시스템 프로퍼티 OS 환경 변수 RandomValuePropertySource JAR 밖에 있는 특정 프로파일용 application properties JAR 안에 있는 특정 프로파일용 application propertie..

Programming/Spring 2021.10.29

[Spring] <form:form> 태그 사용법

Spring에서 지원하는 form 태그 라이브러리가 있다. 이것을 사용하면 데이터를 바인딩하거나 에러메세지를 간편하게 할 수 있다. 먼저 jsp파일 상단에 아래와 같이 taglib를 추가해준다. 그 후 예문과 같이 작성해준다. 이름 : 나이 : 성별 : 남성 여성 분석 기본 form 태그와는 달리 modelAttribute라는 attr가 추가된걸 볼 수 있는데, @RequestMapping(value="/enrollment", method=RequestMethod.POST) public String enrollment(@ModelAttribute("userInfo")UserVO userVO, Model model ) { System.out.println("@enrollment"); try { model...

Programming/Spring 2021.10.28

[Spring] Controller 파라미터 종류 및 차이 - Model/ModelMap

공통점 둘 다 addAttribute("변수"); 를 사용함. Model or ModelMap에 데이터만 저장 후 View에 전달하기 위해 사용된다. 차이점 Model은 인터페이스이고, ModelMap은 클래스이다. 사용하는 건 크게 차이가 없고 프로그래머가 어떤 타입의 객체를 선호하느냐에 따라서 사용하면 된다. @ModelAttribute @RequestMapping(value="/home", method=RequestMethod.POST) public String home(HttpServletRequest request, Model model ) { String name = request.getParameter("name"); String age = request.getParameter("age");..

Programming/Spring 2021.10.28

[Spring] SpringBoot JQuery 추가 (feat.pom.xml)

Maven을 사용하지 않는 프로젝트에선 JQuery.jar 파일을 lib에 따로 받아서 Add External Jars 를 통해서 사용해 왔었다. 그러나 스프링 같이 maven을 사용하는 프로젝트에선 필요한 jar들을 dependency에 추가해주기만 해도 사용할 수 있어 훨씬 더 편리해졌다. maven에 대한 정보는 https://mvnrepository.com/ https://www.webjars.org/ 위의 페이지 중 하나에 들어가서 dependency 정보를 알 수 있다. 예제로 jquery를 검색해서 들어가면 다음과 같은 창이 나오고, 가장 위에 있는 JQuery를 클릭해서 사용하고자 하는 버전을 클릭한다. 해당 버전의 dependency가 나온다. 이 정보를 pom.xml 에 추가해준다. 마..

Programming/Spring 2021.10.27

[GitHub] Git Bash 명령어

로컬 git bash 설정 git init : 로컬 저장소로 사용하겠다고 선언. git remote add origin $Repository주소 : 로컬 저장소와 깃헙 저장소 연결 (GitHub에 레퍼지토리가 생성되어있어야 함) git status : 저장소 상태 체크(파일갯수 체크) git add $파일명 : local git에 해당 파일을 추가 git add . : 해당 DIR에 있는 모든 파일을 깃에 추가 git commit -m "message" : 커밋 . -m 메세지 입력. git push origin master(branch명) : 로컬에 있는 데이터를 git에 push git pull origin master(branch명) : git에 있는 데이터를 로컬로 pull github에서 로컬저..

Programming/GitHub 2021.10.26

[Spring] @Controller vs @RestController

@Controller 전통적인 Spring MVC의 컨트롤러. 주로 View를 반환하기 위해 사용된다. 1. 클라이언트가 서버에 웹서비스를 요청. 2. Dispatcher Servlet에서 받아서 Handler Mapping된 값을 Controller에게 넘겨주고, Controller에서 요청 처리. 3. 처리된 응답을 다시 Dispatcher Servlet으로 반환하고 Dispatcher Servlet은 View를 클라이언트에게 반환. @RestController 컨트롤러에서 데이터를 반환해야 하는 경우 사용되는 Restful한 웹서비스 컨트롤러. 기존 Controller에서는 @ResponseBody를 사용하면 Data값을 반환해 줄 수 있지만, 해당 컨트롤러가 데이터만 반환하는 경우 사용된다. 1...

Programming/Spring 2021.10.25