" SPRING을 쓰면 JSP로 웹 개발했을 때보단 코드 치는 양이 적어 편하긴한데, 머리속으로 SPRING 개념들이 정리가 되지않아 뒤죽박죽 혼란스러워서 고민 끝에 POST를 하기로 결심했다. (많이 부족하겠지만, 내가 이해한 기반으로 정리할 예정이다.) " SPR
전 포스트에서 설명한 것과 같이 Spring은 자바 기반의 웹 애플리케이션을 만들 수 있는 프레임워크이다.Spring.io 사이트에서 확인하면 스프링 프레임워크는 현대 자바 기반의 엔터프라이즈(사업/기업) 애플리케이션을 위한 프로그래밍 및 Configuration M
Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부른다.IoC(제어의 역전, Inversion Of Contoller)에 대한 설명은 전 포스트에서 하였기 때문에 넘어간다. 아무튼 우리가 Spring을 쓰기 전에는 Class를 작성하고 new 연
자바 소스 코드에 추가하여 사용할 수 있는 메타데이터다양한 기능을 부여하는 역할을 한다.예를 들어 Annotation을 사용하면 Spring Framwork는,각각의 해당 클래스들이 어떤 역할을 하는지 정한다.Bean 주입해준다.자동으로 getter, setter, t
SPRING Annotation(1) 포스트를 이어서 Annotation을 정리하려고 한다. 주요 Annotation(2) @RequestMapping 요청 URL을 어떤 method가 처리할지 mapping해주는 어노테이션이다. 요청받는 형식인 GET, POST
Lombok은 코드를 크게 줄여주어 가독성을 높힐 수 있도록 도와주는 라이브러리이다.각 필드의 getter, setter 메서드 코드 작성 없이 어노테이션 @Getter, @Setter을 추가해주면 필드별로 Getter()메소드와 Setter()메소드 자동으로 생성한다
Entity Class에 매핑할 테이블 정보를 알려준다.어노테이션을 생략하면 Class 이름을 테이블 이름 정보로 매핑한다.해당 테이블 PK필드를 나타낸다.PK 생성 규칙을 나타내며, AUTO(auto_increment)이 기본 값이다.기본키 생성을 데이터베이스에게 위
레이어드 아키텍처 (Layered Architecture) Spring Boot는 Layered Architecture 방식인데, 이는 각 layer들이 다른 layer들과 통신하는 것을 의미. 효율적인 개발과 유지보수를 위해 어플리케이션을 계층화하여 개발하는 것
Entity/Dto 관련 Annotaion 연관 관계 매핑 다대일(N:1) : @ManyToOne 일대다(1:N) : @OneToMany 일대일(1:1) : @OneToOne 다대다(N:M) : @ManyToMany 코드 예시 @ManyToOne 다대일 관계를 의
스프링 시큐리티란? 인증(Authentication)과 인가(Authorization), 전반적인 보안을 제공하는 스프링 프레임워크이다. 시큐리티를 사용하면 자체적으로 세션을 체크해야하는 번거로움을 해결할 수 있고, redirect를 일일히 설정하는 번거로움을 해결할
IT기술의 발전에 따라 점점 복잡한 기술이 요구되고, 자바의 기초적인 JDK만으로는 부족함이 있었다. 서버 기반의 자바 기술인 J2EE가 등장하였고, Servlet과 JSP 레벨의 최소한의 서버 프로드래밍 인터페이스로는 복잡합 애플리케이션을 제작하는 것은 쉽지X이를 보
우리가 일반 적으로 알고 있는 애플리케이션 Class와 관계형 데이터베이스의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 관계형 데이터베이스의 테이블에 자동으로 영속화 해주는 것이라고 보면된다.사전에 의하면, 영속화의 뜻은 "지속되다." 이다.
일괄처리를 의미하며, 사용자와 상호작용 없이 여러개의 작업(job)을 미리 정해둔 순서에 따라 도중에 중단 없이 처리하는 것을 의미.데이터를 일괄처리하기 때문에 사용자에게 빠른 응답이 필요하지 않은 서비스에 주로 사용(단발성 대용량 데이터 처리)배치가 이뤄지는 시간(특
Quartz JAVA 스케줄링 오픈소스 라이브러리로, Spring과 함께 사용할 수 있다. 배치 작업이나 변경된 정보를 주기적으로 반영하고자할 때 사용한다. 기본 구성 job : 스케줄링할 실제 작업을 가지는 객체 jobDetail : job의 정보를 구성하는 객체