목록java (9)
관심쟁이 영호

이전에 포스팅한 글에서 서블릿 dispatcher를 통해서 JSP를 반환하는 것까지 성공했다! 하지만 문제가 있었다. 이번 포스팅에서는 해당 문제들을 짚어보고 하나씩 해결해보면서 MVC 프레임워크를 만들어보는 과정을 가질 것이다. (참고로 Spring 또한 해당 역사를 밟아오면서 발달한 것이다!) [#5 Spring Boot 정주행] HTTP로 HTML을 응답해보자! 이번 시간에는 서버를 만들어서 html을 리턴해보자! 먼저 서버를 만들자. 다음에 나오는 코드는 이전 시간에 했던 프로젝트에서 계속 유지한다. [#3 Spring Boot 정주행] HttpServletRequest, HttpServletResponse bestkingit.tistory.com 목차 문제점 FrontController Fron..

아는 동생이 개발자를 준비해보겠다고 전화가 왔다. 백엔드를 지망하고 있어서 대표적인 Spring 공부를 추천했다. 그런데 동생이 "그래서 Spring이 무엇인가요?"라고 물었다. 명쾌하게 대답하지 못하는 내 자신을 보았다. "Spring은 웹 개발을 하기 위해서 각종 도구와 기술이 집약되어있는 프레임워크야"라고 이야기했지만, 솔직히 나도 완벽히 이해하지 못하고 있는 느낌이다. 그래서 이번 기회에 Spring MVC 구조를 살펴보며 차근차근 다루어볼 예정이다. 이번 포스팅 글의 목적은 다음과 같다. Spring & Spring Boot란 무엇인가? 목차 JAVA Web Application 귀차니즘 Framework Spring Spring Boot JAVA 가장 먼저 JAVA가 무엇인지 알아야 될 것 같..
이번 기록은 Form 객체를 분리를 통해서 검증 로직을 서로 다르게 적용하는 것이다. 이 말이 무슨 뜻인가!? 다음과 같은 상황으로 이해해보자. "회원 가입 시에는 id의 길이가 최대 10, 회원 정보 수정에는 id의 길이가 최대 15로 수정이 가능하게 해 주세요." 위와 같은 상황에 Form 객체를 분리하여 검증 로직을 다르게 적용한다는 말이다! 목차 Form 객체 분리란? Form 객체 분리하기 분리에 따른 후 처리 번외 - 겪은 에러 Form 객체 분리란? Form 객체로 분리한다는 말이 무슨 뜻일까? 코드로 살펴보자. User.java @Data @Entity(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationT..
오늘은 인터페이스에 관해서 공부를 할 예정이다. (출간된 "자바의 정석" 책을 참고했습니다.) 인터페이스란? - 추상 메서드의 집합이다. (추상 메서드 : 구현을 하지않은 메서드) - 모든 멤버가 public이다. - 구현된 내용이 하나도 없다. 이렇게 볼 수 있다. 그럼 추상클래스와 무엇이 다른가? 추상클래스는 구현된 메서드도 포함할 수 있다. (인터페이스도 JDK 1.8 version 부터는 구현된 상수, static 메서드와 같은 멤버변수를 가질 수 있다.) 인터페이스 선언방법 interface practice{ public static final FIRST = 1; public abstract abc(int num); } 위와 같이 인터페이스를 선언할 수 있다. 인터페이스의 구현 인터페이스를 구현..
오늘은 추상클래스와 추상메서드에 대해서 공부를 해볼 계획이다. 추상클래스? 추상클래스는 완성하지않은 메서드를 가지고 있는 클래스를 말한다! 한마디로, 몸통부분인 "{}"가 없는 것을 말한다. 클래스에는 "abstract"라는 키워드가 필요하다. 추상메서드? 추상메서드 또한 같다. 몸통부분 "{}"이 없는 메서드를 말한다. 메서드에는 "abstract"라는 키워드가 필요하다. 아래 코드를 통해서 살펴보자. abstract class MyClass{ abstract void go(int num); abstract void stop(int result); } 여기서 보았듯이, 몸통부분이 없는 것을 볼 수 있다. 왜 사용하는 걸까? 다른 클래스를 작성하는데 도움을 주기 위해서 사용한다! - 다음 코드를 살펴보자..

이제 카테고리 엔티티 클래스를 작성할 차례이다. 1. 카테고리 작성 @Entity @Getter @Setter public class Category { @Id @GeneratedValue @Column(name = "category_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item",// 다대다 관계에서는 중간 테이블을 통해서 매칭시켜주어야한다. joinColumns = @JoinColumn(name = "category_id"), //중간 테이블에 있는 아이템 inverseJoinColumns = @JoinColumn(name = "item_id")) // 거기에 있는 item으로 들어가는 것 ..