본문 바로가기
반응형

BackEnd/Spring50

[Spring] 의존성 주입 받는 방법 2가지 (@Autowired, @RequiredArgsConstructor) # 목적Spring에서 의존성 주입받는 방법 정리1. @Autowired@Servicepublic class UserService { @Autowired private UserMapper userMapper;}2. @RequiredArgsConstructor@Service@RequiredArgsConstructorpublic class UserService { private final UserMapper userMapper;}위처럼 정의 시, RequiredArgsConstructor가 final로 정의된 멤버변수를 아래처럼 생성자로 만들어줌final은 반드시 값이 들어있어야 하는데, 직접적인 변경이 불가함변경하기 위해서는 생성자 메서드를 통해 딱 한 번 변경 가능@Servicepublic c.. 2025. 1. 17.
[Spring] Model에 값을 저장하는 방법 2가지(Form클래스), 폼 입력값 유효성 체크 📌 Model에 값을 저장하는 방법1. 요청핸들러 메서드의 매개변수에 Model로 담기@GetMapping("/register")public String form(Model model) { model.addAttribute("userRegisterForm", new UserRegisterForm()); return "form"; // 뷰페이지 이름}스프링이 요청핸들러 메소드의 매개변수를 조사한다.스프링이 Model객체를 생성한다.스프링이 Model객체를 요청핸들러 메소드의 매개변수로 전달한다.개발자가 UserRegisterForm객체를 생성해서 Model객체에 담는다.form.jsp로 내부이동 시키는 문자열을 반환한다.스프링이 ModelAndView객체를 생성한다.ModelAndView객체에 Model.. 2025. 1. 17.
[Spring] 폼 입력값 유효성 체크 ❓ 폼 입력값 유효성 체크서버 사이드에서 폼 입력값에 대한 유효성을 체크하는 것Spring MVC는 폼 입력값에 대한 유효성 체크를 지원하는 API를 제공한다.라이브러리 의존성 org.springframework.boot spring-boot-starter-validation📌 Spring의 폼 입력값 유효성 체크 API1. @Validjakarta.validation 패키지에 정의되어 있는 어노테이션데이터 모델의 유효성 검사를 활성화시키는 데 사용된다.이 어노테이션을 사용하면 데이터 모델에 대한 정의된 유효성 검사 어노테이션을 검사하고,데이터 모델이 제약조건을 위반한 경우, 해당 검사 오류를 BindingResult 객체에 추가한다.2. BindingResult스프링에서 유효성 검사 결과 .. 2025. 1. 17.
[Spring] 애플리케이션 로깅(Logging) 📍 애플리케이션 로깅(Logging)로깅 : 애플리케이션 실행 정보를 제공하는 일련의 기록인 로그(log)를 생성시키는 것사용 목적애플리케이션 실행 중 문제가 발생했을 때, 문제의 원인을 파악하기 위한 정보를 제공한다.사용 이점로그는 애플리케이션 실행과 관련된 유용한 정보를 제공할 수 있다.실행날짜와 시간, 로그레벨, 스레드명, 패키지 및 클래스명, 메서드명, 행번호, 로그메시지 등출력형식을 쉽게 변경할 수 있다.로그 출력레벨에 따라서 로그 출력을 조절할 수 있다.다양한 방식으로 로그를 출력할 수 있다.콘솔화면에 출력파일에 출력📌 로그 출력 레벨TRACE : 자세한 정보DEBUG : 디버깅 정보INFO : 정보WARN : 경고ERROR : 오류FATAL : 심각한 오류로그출력레벨을 TRACE로 지정 .. 2025. 1. 17.
[Spring] 메타어노테이션(@Target, @Retention, @Documented 등) 📍 @어노테이션자바 소스 코드에 메타정보를 표현하기 위해서 사용된다.메타정보소스코드에 추가해서 사용할 수 있는 부가정보컴파일 과정, 애플리케이션 실행과정에서 코드를 어떻게 처리해야 하는지를 알려주기 위한 추가정보📌 @어노테이션의 형식@Target({ElementType.TYPE, ElementType.Method, ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface 어노테이션이름 { 타입 속성명() default 기본값; 타입 속성명();}1. @Target메타어노테이션어노테이션을 적용할 위치를 나열한다.종류ElementType.TYPE클래스, 인터페이스, 열거형에 적용할 수 있다.ElementTyp.. 2025. 1. 17.
[Spring] YAML 이란? (Feat. JSON, XML) 📍 YAML 이란?데이터 직렬화 언어설정파일(구성파일) 작성에 자주 사용쉽게 읽고 이해할 수 있도록 설계됨데이터 직렬화 란?객체를 네트워크 통신에 사용하기 적합한 형식으로 변환하는 것.읽고 작성하기 쉬운 텍스트 형식과 컴퓨터가 쉽게 처리할 수 있는 이진형식으로 데이터를 변환하는 것텍스트 기반 데이터 형식CSVJSONXMLYAML (데이터 직렬화가 가능하긴 하지만, 주로 설정파일 작성을 위해서 개발됨)📌 XML, JSON, YAML로 데이터 표현하기1. XML로 설정정보 표현하기태그를 사용해서 데이터 표현key : 태그이름 / value : 태그의 컨텐츠(값)태그 안에 태그를 포함시켜서 부모-자식 관계를 나타냄 v1 Pod hello-pod .. 2025. 1. 17.