본문 바로가기

BackEnd-Study/Spring boot4

@RequestBody, @RequestPart, @RequestParam, @ModelAttribute spring boot를 사용하면서 저는 대부분 @RequestBody 어노테이션을 사용하였습니다.bean을 적극적으로 활용하고 있었기 때문에 @RequestBody를 사용하면 http 요청으로 넘어오는 body 내용이 매핑이 되기 때문입니다.하지만 이후 등록 페이지를 개발하는 도중 이미지와 파일을 저장 해야하는 경우가 발생하였습니다.이미지와 파일을 넘겨줄 때 어떤 어노테이션을 사용해서 데이터를 받을까 구글링을 해본 결과생각보다 다양한 어노테이션이 있었습니다.  1. @RequestBody HTTP 요청으로 넘어오는 body 내용을 HttpMessageConverter를 통해 JavaObject로 역직렬화한다.multipart 요청이 아닌 어떤 바이너리 파일을 포함하고 있지 않은 데이터를 받는 역할을 한다.. 2024. 10. 23.
Oracle에서 시퀀스(Sequence) 사용하기 아무래도 이번 프로젝트를 진행하면서 백엔드 쪽을 배우고 있기 때문에 많이 서툴다. 데이터를 다룰 때, 각 데이터의 고유 ID가 있다.부장님이 시퀀스를 이용하라고 하셔서 이것에 대해 기록하고자 한다.  오라클에서는 자동 증가 컬럼을 사용할 수가 없다. 다른 DB에는 컬럼 자체에 해당 옵션이 있다고 한다.하지만 오라클에서는 없기 때무에 컬럼의 값을 증가시키기 위해서는 MAX(컬럼) + 1 또는 시퀀스를 사용하여 일련번호를 부여해야한다.     SELECT arch_info_seq.CURRVAL FROM DUAL  그리고 마이바티스에서 사용할 땐 위와 같이 먼저 작성해주고 아래에 insert문을 작성한다.insert문을 작성할 때 id값으로 arch_info_seq.nextval이라고 작성해준다. 시.. 2024. 4. 3.
[springboot, mybatis] pagination 프론트에서 page와 size를 넘겨주고 백엔드에서 해당 값들을 받을 때 mybatis에서는 #{} 이런식으로 기재한다.그리고 parameterType이 kr.library.ar.common.app.ble.bean.UserBleBean이라고 지정해주었기 때문에 해당 bean에 page와 size를 추가해준다.여기서 이렇게 bean으로 타입을 주면 계속해서 bean에 추가를 해야해서 map을 만들고 map에 추가하는 방법도 있다고 말씀해주셨다.   SELECT * FROM ( SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM ( ) TMP_PAGE) PAGE WHERE ROW_ID #{endRow}.. 2024. 4. 3.
스프링 컨테이너와 Bean Bean 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트입니다. 스프링 컨테이너가 관리하는 자바 객체를 뜻하고 하나 이상의 빈을 관리합니다. 스프링 컨테이너는 BeanFactory 와 ApplicationContext 두 종류의 인터페이스로 구성되어 있습니다. BeanFactory는 스프링 컨테이너의 최상위 인터페이스입니다. 주로 빈을 등록, 생성, 조회 등의 빈을 관리하는 역할을하며, getBean()메서드를 통해 빈을 인스턴스화할 수 있습니다. @Bean 어노테이션이 붙은 메서드의 이름을 스프링 빈의 이름으로 사용하여 빈을 등록합니다. ApplicationContext 는 BeanFactory의 기능을 상속받아 제공합니다. 따라서, 빈을 관리하고 검색하는 기능을 BeanFactory.. 2024. 3. 15.
728x90