Study/spring 9

[Spring Boot] 스프링부트 이미지 외부경로 설정하기

프로젝트에 상품 리스트 게시판을 만들었는데, 카드 형식으로 썸네일을 보이게 만들었다. 글 작성시 썸네일을 선택하면 메인화면에서 보이는 형식... 그리고 컨트롤러에서 enum파일에 있는 IMGPATH (=/img/)경로를 가져와 model.addAttribute로 전달해주었다. 그렇게 전달받은 경로+썸네일 파일명으로 로컬에 저장된 파일을 가져오려 했으나........ 정상적으로 이미지가 로컬경로에 저장되고 db에도 파일명이 잘 들어갔지만 게시글 업로드 후 리스트에 들어가보면 이미지가 엑박으로 나옴 -> 서버를 재실행하면 정상적으로 보임 이라는 문제가 생겼다... 찾아보니 타임리프에서 외부경로를 사용하지 않고 static폴더 내부에 있는 경로를 사용하면 이미지 변경사항이 바로 반영되지 않는다고 한다. 그럼 ..

Study/spring 2023.07.12

[Spring Data JPA] Spring Data JPA의 구조와 흐름

Spring JPA로 프로젝트를 진행하면서 여러 자료를 참고하면서 기능을 만들고 있었지만, 어떤 흐름으로 기능이 동작하는지 확실히 알아두고 싶어서 간단하게 정리해보기로 한다. Spring Data JPA란? Spring Data JPA는 Spring 프레임워크에서 Java Persistence API (JPA)를 지원하는 기술이다. JPA는 자바 개발자들이 관계형 데이터베이스를 사용하는 애플리케이션을 개발하기 위한 표준 스펙이며, Spring Data JPA는 이를 더 편리하게 사용할 수 있도록 Spring의 기능과 통합한 것이다. Spring Data JPA의 구조 엔티티 클래스(Entity Class) JPA는 객체와 데이터베이스 간의 매핑을 위해 엔티티 클래스를 사용한다. 엔티티 클래스는 데이터베이..

Study/spring 2023.06.29

[Spring] No identifier specified for entity 에러

프로젝트 중 코멘트 뷰의 모양이 잘 나왔는지 서버를 켰는데 해당 에러가 발생했다. Spring문자도 뜨고 잘 실행되는 듯 하였으나 에러가 떴다. 어떤 문제인지, 왜 나는 것인지 확인해보았다. import org.springframework.data.annotation.Id; Entity 코드에 import를 이렇게 해놓아서 난 에러였다... 해결 방법은 import javax.persistence.Id; 이렇게 import를 바꿔주면 된다. : )

Study/spring 2023.06.27

[JPA] Error: 1364: Field 'id' doesn't have a default value 오류 해결

프로젝트를 진행하며 테스트코드를 작성하고 실행했는데 해당 에러가 발생했다. 열심히 찾아보니 자바 entity와 DB의 table이 일치하지 않아서 발생하는 문제라고 한다. @GeneratedValue(strategy = GenerationType.IDENTITY) 나는 id를 자동으로 생성하는 전략을 사용했고, spring.jpa.hibernate.ddl-auto=update ddl은 update로 작성해서 당연히 DB에도 반영될거라고 생각했지만...반영되지 않았다. 그래서 결론 : 직접 Auto Increment를 체크해주니 테스트가 잘 진행되었다.

Study/spring 2023.06.20

스프링 핵심 원리 강의 정리 1 - 객체지향

김영한님의 스프링 핵심 원리 강의를 들으며 공부하며 정리한 내용입니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8# 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 객체 지향 프로그래밍 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 ..

Study/spring 2022.12.23

[SpringBoot] 스프링부트 프로젝트 만들기

인프런의 김영한님 스프링부트 강의가 유명하다는 말을 많이 들었다. 나는 스프링 레거시버전으로만 프로젝트를 하기도 했고, 스프링 프로젝트를 만든 지 시간이 좀 되기도 해서 스프링 입문 강의를 보며 스프링부트로 프로젝트를 만들어 보기로 한다. 0)준비하기 https://www.jetbrains.com/ko-kr/idea/download/#section=windows 다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE www.jetbrains.com 먼저 인텔리제이를 다운받았다. 기존에는 이클립스나 sts를 사용했는데(node플젝할 때는 vscode를..) 강사님께서 인텔리제이를 강추하셔서 나도 한번 써보기로..^^ https://www.oracle.com/kr/j..

Study/spring 2022.11.29

스프링 프로젝트 - 게시판 만들기 1(SQLplus DB생성, lombok설치)

프로젝트를 했을 때 maven으로 게시판을 만들었지만 꽤 시간이 지나기도 해서 다시 만들면서 복습해보기로 한다. 프로젝트 이름을 입력하고 Spring Legacy Project -> Spring MVC Project를 선택한다. 컨트롤러의 경로를 입력해준다. 그러면 이렇게 폴더와 파일이 생성된다. 사실 dto를 적고 있던 도중에 블로그에 올리자고 생각했던 거라서 이미 만들어져 있지만.... dto/model/service패키지는 따로 만들어줘야 한다. pom.xml세팅은 com.oracle ojdbc8 18.0.0 org.mybatis mybatis 3.2.3 org.mybatis mybatis-spring 1.2.2 commons-io commons-io 2.5 commons-fileupload com..

Study/spring 2022.08.12

[spring] MyBatis를 사용하여 게시판 만들기

MyBatis MyBatis는 흔히 SQL 매핑 프레임워크로 분류된다. JDBC 코드의 복잡하고 지루한 작업을 단축시킬 수 있다. 장점 자동으로 Connection close() 기능 MyBatis 내부적으로 PreparedStatement 처리 #{prop}와 같이 속성을 지정하면 내부적으로 자동 처리 리턴 타입을 지정한느 경우 자동으로 객체 생성 및 ResultSet 처리 기존의 SQL을 그대로 활용할 수 있음 출처: https://techhan.github.io/study/spring-07/ 이전에 jsp로 프로젝트를 만들었을 때나 MyBatis를 배우기 전 스프링을 사용했을 때는 컨트롤러 파일을 기능마다 계속 만들어주어야 해서 복잡하고 보기도 불편했다. 이러한 불편함을 해소하고 코드를 간단하게 만..

Study/spring 2022.06.02
1