개발 기록/스프링 (7) 썸네일형 리스트형 [스프링] Unsupported Media Type 415 에러 안녕하세요. API를 만들고 테스트를 하면서 자주 보는 에러가 있습니다. Unsupported Media Type 415 에러인데요. 데이터를 보낼 때 json 형식의 데이터가 필요한데, json 설정을 하지 않았기 때문에 발생을 합니다. Header 부분에 Content-Type: application/json 설정을 해주시면 문제가 해결이 되겠습니다 :) 감사합니다. [토비의 스프링 정리] #3 템플릿의 대해서 리뷰 및 기록 토비의 스프링을 읽고 개인적으로 기록을 하고 있어요 :) 템플릿: 변화가 일어나지 않는 부분과, 변화가 일어나는 부분을 독립시켜서 효과적으로 활용할 수 있도록 하는 방법 예외 처리 없는 deleteAll() 함수 로직의 대해서 예외가 발생했을 때의 로직을 추가해 보자. // 수정 전 public void deleteAll() throws SQLException { Connection c = dataSource.getConnection(); PreparedStatement ps = c.prepareStatement("delete from users"); ps.executeUpdate(); ps.close(); c.close(); } // 수정 후 public void deleteAll() throws SQ.. [토비의 스프링 정리] #2 테스트의 대해서 리뷰 및 기록 토비의 스프링을 읽고 기록을 하기 위한 개인적인 포스팅이에요 :) 서비스는 계속 변하고 개발이 필요하다. 변화에 대응하는 첫 번째 전략은 앞에서의 학습[0]을 진행했던, 객체지향의 설계 IoC/DI 기술을 활용하는 것이다. 두 번째 전략은 코드를 확신할 수 있게 만들고, 변화에 유연하게 대처할 수 있는 자신감을 주는 테스트 기술이다. 이번 파트에서는 테스트의 대한 학습이 진행되겠다. 테스트의 필요성에 대해서 알아보자. 처음 개발을 배울 때는 기능들을 직접 눌러가면서 테스트를 한다. 이렇게 main 함수를 실행하며 웹을 통해서 직접 테스트를 하는 경우 어떤 불편함과 문제가 있을까? 모든 레이어의 기능들을 다 만들고 나서야 테스트가 가능하다. 테스트 코드를 작성하면 최초 개발을 진행했 던 기능의 동작을 보장.. [스프링] H2 데이터베이스 콘솔 로그인 스프링 부트로 스프링을 시작 시 별도의 H2 데이터베이스 설치가 없어도, 자동으로 H2 데이터베이스를 실행시킬 수 있습니다. H2 임베디드로 내장이 되어 있기 때문인데요. 스프링 사용 시 로컬에서 개발을 할 때는 H2 데이터베이스가 정말 편리해요. 자꾸만 잊는 H2 데이터베이스의 콘솔 로그인. 초기 프로젝트 세팅 시 콘솔 로그인을 필요로 하여, 콘솔 로그인 방법을 작성 해놓도록 하겠습니다. 가장 먼저 필요한 의존성을 추가해주세요. 1. build.gradle 파일에 h2 의존성 추가 dependencies { ... runtimeOnly 'com.h2database:h2' ... } 2. application.yaml 파일에 콘솔 로그인을 위한 설정 추가 (들여쓰기 주의 해주세요) spring: h2: .. [토비의 스프링 정리] #1 오브젝트와 의존관계의 대해서 리뷰 및 기록 토비의 스프링을 읽으며 개인 기록 공간이에요. 자바 개발자가 아니라면 분명 학습하기 어려운 책이지만😢 자바 개발자뿐만 아니라 모든 개발자가 학습을 하면 좋겠다. (자바, 스프링을 활용하는 개발자도 어렵게 다가올 수 있는 책이다.) 시간을 들여서 천천히 공부하고 습득해야 될 책이다. 매일 매일 읽고 직접 타이핑을 하면서 익혀보자. 더 나은 개발자가 될 수 있다. 개발에서는 모든 것은 수정될 수 있고 요구사항들이 변한다. 그럼 변화의 어떻게 대응할 것이고, 변하를 위한 코드를 어덯게 작성할 것인가? 변경이 있을 때 단 3줄만 고칠 것인가? 아니면 300줄을 고칠 것인가? 변경의 걸리는 시간뿐만 아니라, 검증 시에도 전자의 검증 시간은 5분, 후자의 검증시간은 5시간이 걸릴 수 있다. 변화의 대응할 수 있는 .. [JPA 실습] java.lang.IllegalArgumentException: Unknown entity 에러 JPA 실습 중 에러가 발생했어요😢 java.lang.IllegalArgumentException: Unknown entity: com.example.jpaplayground.start.Member at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:759) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:742) at com.example.jpaplayground.start.JpaMain.logic(JpaMain.java:42) at com.example.jpaplayground.start.JpaMain.main(JpaMain.java:21) 스프링 프레임워크의 도움 없이.. [스프링] 트랜잭션이란 무엇인가? (종류, 주의점) 트랜잭션이라 함은 작업의 단위로써 트랜잭션 범위 안에서 진행되는 작업은 모두 commit()을 통해 성공하던지 아니면 모든 작업이 rollback()을 통해서 취소가 되어야 한다. 트랜잭션의 종류의 대해서 알아보자 종류 설명 REQUIRED(디폴트) 진행 중인 트랜잭션이 없으면 새로 시작하고, 시작된 트랜잭션이 있다면 그 트랜잭션이 포함된다. REQUIRES_NEW 앞에 시작된 트랙잭션이 있던 없던 새로운 트랜잭션을 만든다. NESTED 진행 중인 트랜잭션이 있다면 진행 중인 트랜잭션 영향을 받지만, nested로 만들어진 트랜잭션은 진행 중인 트랜잭션에 영향을 미치지 않는다. MANDATORY 현재 트랜잭션에 포함되며, 진행 중인 트랜잭션이 없다면 예외가 발생한다. NEVER 트랜잭션을 사용하지 않으며.. 이전 1 다음