Group Study (2020-2021)/Spring Boot 5

[Spring boot] 4주차 스터디 - AOP

스프링 부트 강의를 들으면서, AOP에 관련된 내용이 문제 상황에 적용하는 방법에 대한 강의 위주로 나와 있어서 AOP에 대한 개념과 틀을 잡고 싶어서 글을 쓰게 되었습니다. 1. AOP? 인프라 혹은 부가 기능의 모듈화(로깅, 트랜잭션..etc) Aspect Oriented Programming의 약자로, **관점 지향 프로그래밍**이란 뜻입니다. 프로그래밍 과정에서 공통 기능을 모든 모듈에 효율적으로 적용하기 위해 개발된 방법입니다. 상속이나 위임을 통해 공통 기능을 모듈에 적용할 수 있지만, JAVA에서는 다중 상속이 불가능해서 한계가 있고, 기능을 구현하는 부분에서 핵심코드와 공통 기능 코드가 섞여 있어서 모듈화가 되지 않아 가독성/유지보수성이 좋지 않습니다. 그래서 공통 기능을 모듈화한 후, 공..

[Spring Boot] 3주차 스터디 - 스프링빈, 웹MVC개발

섹션 4. 스프링 빈과 의존관계 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 섹션 5. 회원 관리 예제 - 백엔드 개발 회원 웹 기능 - 홈 화면 추가 회원 웹 기능 - 등록 회원 웹 기능 - 조회 섹션 4. 스프링 빈과 의존관계 ① 컴포넌트 스캔과 자동 의존관계 설정하기 ② 자바코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록 @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문 @Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록 @Controller @Service @Repository * 회원 서비스 스프링 빈..

[Spring Boot] 2주차 스터디 - 스프링 웹 개발 기초, 백엔드 개발

섹션 2. 스프링 웹 개발 기초 정적 컨텐츠 MVC와 템플릿 엔진 API 섹션 3. 회원 관리 예제 - 백엔드 개발 비즈니스 요구사항 정리 회원 도메인과 리포지토리 만들기 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 섹션 2. 스프링 웹 개발 기초 - 정적 컨텐츠 : 파일을 그대로 웹브라우저에 내려준다. - MVC와 템플릿 엔진 : 템플릿 엔진 (jsp, php) html을 서버에서 프로그래밍 해서 동적으로 바꿔서 내려준다. model, view, controller -> 가장 많이 쓰이는 패턴 controller, model : business 로직과 관련, 내부적인 처리를 담당 view : 화면을 그리는 역할을 담당 - API : json이라는 데이터 포맷으로 클라이언트한..

[Spring Boot] 1, 2주차 보충 내용 - Spring Boot, Flow, Build

안녕하세요! Spring Boot 스터디 리드이자, DSC-Sookmyung Core Member 신동선입니다. 🙇‍♀️ 모두 1, 2주차 강의 잘 들으셨나요? 매우 쉬울수도 있고, 제가 올려드린 질문을 생각해보다 보면 어려울 수 있지만 끝까지 따라와주세요! 먼저, 제가 올려드린 질문들을 정리해보면 다음과 같습니다. # 1, 2주차 들으면서 추가적으로 더 생각해 볼 것 1. Spring Boot vs Spring Framework 차이 2. Spring Boot FLOW 3. HTTP GET, POST, PUT DELETE 4. Spring Boot에서 build 1. Spring Boot, Spring Framework? Spring 은 과거 EJB(Enterprise JavaBeans)를 대체하는 프..

[Spring Boot] 1주차 스터디 - Spring Boot Web 프로젝트 생성하기

강의 진도 섹션0. 강의 소개 섹션1. 프로젝트 환경설정 프로젝트 생성 라이브러리 살펴보기 View 환경설정 빌드하고 실행하기 진행 상황 프로젝트 생성 사전 준비 Java 11 설치 IDE: IntelliJ 설치 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io 프로젝트 설정 Project: Gradle Project Spring Boot: 2.3.x Language: Java Packaging: Jar Java: 11 Dependencies: Spring Web, Thymeleaf Gradle 전체 설정 build.gradle plugins { id 'org.springframework.boot' version '2.3.1.RELEASE' id 'io..