본문 바로가기

Frameworks/spring boot

(11)
log4j 사용하기 log4j ▶ log4j 란? 프로그램을 작성하는 도중에 로그를 남기기 위해 사용되는 자바기반 로깅 유틸리티이다. 디버그용 도구로 주로 사용되고 있다. 즉, 로그문의 출력을 다양한 형태로 도와준다. - 공식페이지 : https://logging.apache.org/log4j/2.x/ ▶ log4j의 레벨 로그 레벨 설명 fatal 아주 심각한 에러가 발생한 상태 error 요청을 처리하는 중 문제가 발생한 상태 warn 처리 가능한 문제, 향후 에러의 원인이 될 수 있는 경고 메세지 info 로그인, 상태 변경과 같은 정보 메세지 debug 개발 시 디버그 용도로 사용한 메시지 trace 신규 추가된 레벨로 디버그 레벨이 넘 광범위한 것을 해결하기 위해서 좀 더 상세한 상태를 나타냄 ▶ log4j의 레이..
spring boot - 파일 업로드 파일 업로드 ▶ application.properties 설정 file.upload.directory = uploadFiles //업로드 폴더 위치 spring.servlet.multipart.max-file-size=128KB //파일 크기 제한 spring.servlet.multipart.max-request-size=128KB //파일 크기 제한 ▶ 파입 업로드 폼 설정 form 의 enctype 설정하고 submit 하여 파일을 보낸다. File to upload: ▶ 컨트롤러에서 파일 다운로드 Multipart 객체로 넘겨받은 파일을 서비스단에서 처리한다. package kr.or.ksmart.file; import org.springframework.beans.factory.annotation..
Mybatis CRUD Mybatis CRUD CRUD : 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. - INSERT - SELECT - UPDATE - DELETE ▶ Mybatis로 Insert 회원가입 폼(memberInsert.html)에서 받은 값(요청)을 컨트롤러에서 수행하여 메소드를 처리하고, 결과를 리턴해준다. 더보기 m/memberInsert.html post 메소드 타입으로 /addMember 경로로 입력 value를 받아서 넘긴다. 컨트롤러에서 해당 경로를 맵핑하여 메소드를 실행한다. 폼 액션 방식이 Post 방식이기 때문에 맵핑 어노테이션?도 @PostMapping 으로 설정해준다. 메소드..
Mybatis(마이바티스) Mybatis 기존의 JDBC를 이용하여 개발하는 방식에 비해 개발자의 부담을 덜어주고 생산성을 향상시켜 준다. MyBatis는 개발자가 지정한 SQL, 저장프로시저, 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. MyBatis는 JDBC 코드와 수동으로 셋팅하는 파라미터와 결과 매핑을 제거한다. MyBatis는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO를 설정하고 매핑하기 위해 XML과 애노테이션을 사용할 수 있다. 쿼리 기반 웹 애플리케이션 개발에 많이 사용되는 SQL 맵퍼 프레임 워크이다. 마이바티스를 사용하지 않고 직접 JDBC를 이용할 경우 반복 작성해야 할 코드가 많고, 서비스 로직 코드와 쿼리를 분리하기 어렵다. 또한 커넥션 풀의 설정 등 개발자가..
thymeleaf 의 링크 thymeleaf의 href html의 링크의 경우 링크1 thymeleaf의 링크의 경우 예를들어 localhost/exam 링크로 연결하고자 할때는 @{/exam} 링크안에 문자열 결합 연산자를 사용하고 싶을때 @{'/exam'+${m}} - > @{${'/exam'+m}} ▶ Get방식으로 보내는 방법 기존 html의 Get방식 localhost/index?키=값&param=value ?뒤에 키에 대입연산자로 값을 넣고 &를 사용하여 값을 구분하였다. 위를 사용하여 request.getPrarmeter("param") 형태로 값을 받아왔다. thymeleaf의 Get방식 localhost/@{/exam2(키='값',param='value')} @뒤에 키에 대입연산자로 값을 따옴표 안에 넣고 ,를 사..
thymeleaf 반복문, 조건문 thymeleaf 반복문 ▶ 단순반복문 each ArrayList Member 객체를 member라는 Attribute에 값을 담고 forward 하여 exam2 파일(오른쪽)에서 받앗을때, 그 값을 활용하여 each 반복문을 돌릴수 있다. ▶ each를 활용한 for문 sequence의 값에 1부터 10까지 반복문을 돌리자. thymeleaf 반복문 활용 ▶ each 활용하기 member 키워드를 m과 i를 설정하여 index값(번호)를 불러올 수 있다. thymeleaf 조건문 table이 있다면, table 상단에 지역변수를 설정해 보자. 지역변수 설정은 th:with = "키 = 값" 이다. 테이블 하단에서 키값을 불러왔다. ▶ thymeleaf 조건문 위의 코드를 보면, 지역변수 id=id001..
thymeleaf 사용하기 ▶ thymeleaf 사용하기 컨트롤러에서 맵핑 설정한 파일로 이동시, forward 형식으로 Attribute에 값을 저장할 수 있다. 값을 저장하는 객체는 Request가 아닌 Model으로, setAttribute메소드가 아닌 addAttribute메소드를 사용한다. Attribute에서 저장한 값을 index.html 파일에서 thymeleaf로 열어보도록 하자. 타이틀에 str1 값을 addAttribute 하고, 그 값을 불러오는 방법으로는 th:text="${값}"으로 불러온다. ArrayList로 여러 값을 저장하였다면, JSP에서 반복문을 풀어 테이블에 행을 여럿 추가하게 하였다. thymeleaf 에서 반복문을 어떻게 푸는지 알아보자. thymeleaf에서 each 반복문을 풀어봣다. ..
thymeleaf / 스프링부트 레이아웃 ▶ thymeleaf https://www.thymeleaf.org/ Thymeleaf Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model-View-Controller API for Java EE 8. Write Thymeleaf in your favourite tools, using your favourite web-development framework. Check out our Ecosystem to see more integrati www.thymeleaf.org 서버사이드 렌더링(jsp와 유사하다) ▶STS(Thymeleaf플러그인 설치) http://www.thymeleaf.org/ecosy..