SpringBoot

@Slf4j Lombok 의 라이브러리 ( 로깅 라이브러리 ) 로깅 라이브러리 개요 log4j(치명적인 버그가 있었음) => log4j2 => logback ( 개선 방식 ) 로깅 라이브러리의 특징 ( 1 ) 함수호출을 일원화 시켜주는 기능 ( 디자인 패턴 : Facade 패턴 ) ( 2 ) ( 간략정보 : Error → Info → Debug → Warn → Trace : 상세 정보 ) 로그 백 설치 https://tinylittlelife.tistory.com/209 // logback 설치 : // 1) log4jdbc.log4j2.properties, logback-spring.xml 기본 설정 파일 추가 // - log4jdbc.log4j2.properties : sql 로그를 출력하기 위한 설..
3.x 이전 버젼 logback , log4jdbc // logback , log4jdbc 설정 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' implementation 'ch.qos.logback:logback-classic:1.2.11' implementation 'org.slf4j:slf4j-api:1.7.36' implementation 'org.slf4j:jcl-over-slf4j:1.7.36' 환경설정 추가 # sql 로그 설정 log4jdbc.spylogdelegator.name=net.sf.log4jdb..
@ResponseEntity ResponseEntity는 사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스이다. 따라서 ResponseEntity란, 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스이다. 라고는 하지만 간략히 프론트엔드 쪽은 완료됬는지 안됬는지 모르기 때문에 백엔드쪽에서 프론트엔드쪽으로 "얘 성공했어" , "얘 실패했어" 라고 메시지(신호)를 보내주는 것 \ 특징 / ( 1 ) 사용 목적 프로그램 품질 향상을 위해 사용 HttpStatus 응답 상태코드 참조 상수 (ENUM) 메시지 (신호) = 응답상태코드 설명 HttpStatus.OK 200 성공 HtppStatus.FOUND 302 찾음 HttpStatus.BAD_REQUEST 400 요청구문이 잘못..
@RequestBody 요청 본문(request body)에 담긴 값을 자바 객체로 변환 (conversion) (CRUD 중 CREATE ( : INSERT ) 코드 ) 클라이언트에서 서버로 필요한 데이터를 요청하기 위해 JSON 데이터를 요청 본문에 담아서 서버로 보내면, 서버에서는 @RequestBody 어노테이션을 사용하여 HTTP 요청 본문에 담긴 값들을 자바객체로 변환시켜, 객체에 저장한다. 한마디로 데이터를 입력받아 객체로 변환 하는 얘 \ 참조 / PostMapping과 함께 사용됨 정의 @PostMapping("url")함수명(@RequestBody 객체명) 예제 @RestController public class ObjectRequestBodyController { @PostMappin..
@Controller 와 @RestController 어노테이션 설명 return 값 @Controller jsp 개발시 사용 이동할 jsp 페이지 명 @RestController react / vue 연동 개발시 사용 json 데이터로 출력됨 예시 @RestController @RequestMapping("/exam06") public class MultiPathRestController { @GetMapping("/multi-path/id/{id}/name/{name}") public Member getMultiPath( @PathVariable String id, @PathVariable String name) { // 맴버 객체 생성 Member member = new Member(id,name)..
\ 특징 / ( 1 ) 스크립틀릿 jsp 과거 코딩방식 샘플 예제 import fmt Library 를 사용하겠다 fmt:formatNumber 숫자 찍기 (, 3자리마다 쉼표 찍어줌) // type="currency" 지역 통화(화폐) 출력 fmt:formatDate 날짜 포맷
\ 특징 / ( 1 ) fn 라이브러리는 EL 표현식과 함께 사용한다. ( 2 ) 자바 함수와 엇비슷하다 샘플 예제 import fn Library 사용 하겠다 fn:contains chars 에 name 값이 있으면 true 없으면 false ${fn:indexOf(chars,name)} fn:indexOf chars 에 name 값이 있는 인덱스 번호를 리턴 ${fn:contains(chars,name)} fn:length 전체 길이를 리턴 ${fn:length(chars)} fn:replace chars 에 있는 name 값을 바꿔줌 ${fn:replace(chars,name,"장길산")} fn:split 문자열 자르기 ( => 배열로 리턴 ) ${sChar[0]} ${sChar[1]} ${..
\ 참조 / scope 변수 저장소 (범위) default 값 (scope를 적지 않을때) 은 page 일것이다. scope=" 여기 " 설명 page 현재 페이지(view)만 사용가능 request request 범위까지 session 다른 페이지(view)에서도 가능 application 전체 프로그램 ★ import c:import 공통 페이지 끼워 넣기 : 머리말 , 꼬리말 등 // 또는 [] c:url url을 만드는 기능을 수행
c:catch 에러가 뜨면 어떤 에러인지 메시지를 띄움 정의 실행문 메시지 띄우기 if 문 ${num} 에러 메세지 : ${err.message}
c:forToken 문자열을 구분하여 전체 출력함 ( 반복문 ) 정의 // 예시문 토큰 : ${number} 출력 내용
Cors 설정 ( 오버라이딩 해야함 ) @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://localhost:8080", "http://localhost:8081") .allowedMethods("GET", "POST") .maxAge(3000); } } 메소드 (함수) 특징 addMapping CORS를 적용할 URL패턴을 정의할 수 있습니다. maxAge 원하는 시간만큼 pre-flight 리퀘스트를 캐싱 해둘 수 있습..
@PathVariable 파라메터 방식 매개변수 전달하는 어노테이션 ♠ \ 참조 / ♠ 파라메터 방식이란? 쿼리스트링 형식을 개선해서 나온 방식 정의 name = 웹 매개변수명 @GetMapping("경로/{name}") @GetMapping("경로/id/{id}/name/{name}") // 여러개일때 가독성을 높인 문장 public String 함수명(Model model , @PathVarialbe String name) { model.addAttribute("name",name); return "페이지명"; } 파라메터 방식 URL 값을 바로 넣습니다. protocol://ip:port/url/값 protocol://ip:port/url/id/값/name/값
별이춤추는밤
'SpringBoot' 카테고리의 글 목록 (5 Page)