Spring

    Spring Request 데이터를 List 형태로 받으면 @Valid 체크가 안되는 현상 해결 방법

    Spring Request 데이터를 List 형태로 받으면 @Valid 체크가 안되는 현상 해결 방법

    Spring does not check valid when list data is databinding 다음과 같은 예시가 있습니다. 스프링에서 Controller 로 데이터가 넘어올 때 [java.util.List] 형태의 데이터만 넘어와서 해당 List에 맞게 DTO를 만들어서 List로 데이터를 받는데, List 안의 데이터에 대해서 분명히 조건 체크를 하게 했는데 Null로 데이터가 넘어온 데이터로 작업하게 되어 에러가 발생한다 ????? 위 문제로 인해 저도 여러 해결 방법을 찾아봤는데요 특히, "Custom Validator를 만들어서 체크하면 된다" 하는 글이 대부분이었습니다. 위 Custom Validator가 아닌 방법으로 좀 더 손쉽게 해결 가능하도록 해봅시다. 우선 이유부터 알아봅시다..

    객체 지향, 오브젝트와 의존 관계의 이해

    Connection을 통한 오브젝트와 의존관계의 이해 public class UserDao { public void add(User user) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.cj.jdbc.Driver"); Connection c = DriverManager.getConnection( "jdbc:mysql://localhost/springbook","spring","book"); PreparedStatement ps = c.prepareStatement( "insert into users(id, name, password) values(?, ?, ?)"); ps.setString(1, user.getId());..

    Spring Framework IoC, AOP, PSA

    Spring Framework 입문 Spring의 주요 기능 3가지 : IoC, AOP, PSA IoC (Inversion of Control) : 제어권이 뒤바뀌었다. 내가 사용할 기능을 내가 만들지 않고 다른 클래스에 만들어진 기능을 이용 할 건데(의존성) 선언은 해 놓았는데 누군가 알아서 넣어주겠지 class OwnerController{ private OwnerRepository repo; public OwnerController(OwnerRepository repo){ this.repo = repo; } } 의존성을 풀이하자면 무슨 의미일까? : 기능을 수행하는데 있어서 완벽하게 하기 위해서는 부수적인 기능이 있어야 가능할 경우 부수적인 기능에 의존하고 있음을 알 수 있다. 선언을 private..

    fetch() 사용법, javascript와 spring(java) 양방향 JSON 통신 방법

    fetch() 사용법, javascript와 spring(java) 양방향 JSON 통신 방법

    javascript fetch() → java/Spring 반환 프런트 엔드에서 백엔드로 비동기 데이터 전송 기존에는 javascript의 비동기 기능으로 XMLHttpRequest를 이용해 비동기를 구현했는데 이 기능은 사용하기에는 다소 불편한 점이 있어 좀 더 편하게 사용하기 위해 Jquery 라이브러리를 따로 받고 이에 포함되어 있는 ajax을 이용해 비동기를 구현했는데, ES6부터는 javascript 자체적으로 fetch(비동기 기능)을 지원한다. 이 fetch() 비동기 기능을 활용하여 Spring(java)로 데이터를 전송하는 테스트를 하려 한다 프런트엔드에서는 fetch()를 통해 데이터를 보내고 백엔드에서는 JSONObject를 통해 데이터를 받아 가공 및 사용한다. 메서드 타입은 RES..

    에러, Spring, Mybatis Mapping error

    문제 Spring과 Mybatis를 연결하여 db작업을 하는 방법에 대해 배우고 과제를 하는 도중 오류가 발생했습니다. mybatis의 db로 인해 오류가 발생할 경우 무조건 길게 나오더라구요. 아래만큼.... 나중에 에러 잘 찾아내기 위해 한 번 열심히 봤는데요 4월 13, 2021 8:33:57 오후 org.apache.catalina.core.StandardContext reload INFO: 이름이 [/home]인 컨텍스트를 다시 로드하는 것을 완료했습니다. 4월 13, 2021 8:33:57 오후 org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring DispatcherServlet 'appServlet' INFO : ..