[SpringBoot] HTTP form에서 put, delete 사용법
·
Web & Android/SpringBoot
💡 HTTP form에서는 get, post만 지원한다! 1) application.properties에 아래의 설정 값 추가 spring.mvc.hiddenmethod.filter.enabled=true 2) html에 아래 코드 추가 예제
[SpringBoot] Thymeleaf - 날짜 변환
·
Web & Android/SpringBoot
1. String타입을 Date타입으로 포맷하는 방법 2. Date타입을 Date타입으로 포맷하는 방법
[SpringBoot] Design Pattern
·
Web & Android/SpringBoot
💡 일종의 설계 기법이며, 설계 방법이다. 디자인 패턴 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제 GoF(Gang of Four) 디자인 패턴 : 유형에 따라 생성 패턴 5개, 구조 패턴 7개, 행위 패턴 11개 총 23개의 패턴으로 구성된다. 목적 SW 재사용성, 호환성, 유지 보수성을 보장 특징 디자인 패턴은 아이디어임, 특정한 구현이 아님 문제 해결 예방 장점 구조 파악 용이 재사용을 통해 개발 시간과 비용이 절약됨 원활한 의사소통 가능 설계 변경 요청에 대한 유연한 대처 단점 객체지향을 기반으로 한 설계와 구현을 다루므로 애플리케이션 개발에는 적합하지 않음 초기 투자 비용 부담 [..
[SpringBoot] AOP(Aspect Oriented Programming)
·
Web & Android/SpringBoot
AOP 관점 지향 프로그래밍 기존 OOP를 더욱 보완, 확장하여 OOP를 OOP답게 사용할 수 있도록 도와주는 개념 공통 모듈을 분리시켜 해당 소스코드가 외부의 다른 클래스에서 존재하는 것 사용 이유 : 비즈니스 로직과 공통 기능으로 구분을 하고, 공통 기능은 필요한 시점에 불러와서 적용하는 프로그래밍 방법 Web Layer REST API를 제공하며, Client 중심의 로직 적용 Business Layer 내부 정책에 따른 logic을 개발하며, 주로 해당 부분을 개발 Data Layer 데이터 베이스 및 외부와의 연동을 처리 장점 중복 코드 사라짐 코드 간결 및 유지보수 쉬움 재활용성 높아짐 Core Concern(핵심 관심) : 각 서비스의 핵심 비즈니스 로직. i.e. 계좌이체, 입출금, 이자계..
[SpringBoot] OOP(Object Oriented Programming)
·
Web & Android/SpringBoot
OOP(객체 지향 프로그래밍)란 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로, 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론 객체 지향의 4대 특성 1. 캡슐화 (Encapsulation) 데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만드는 방법 캡슐화의 중요한 목적은 변수를 private로 선언하여 데이터를 보호하고, 보호된 변수는 getter나 setter등의 메서드를 통해서만 간접적으로 접근을 허용하는 것 캡슐화를 하면 불필요한 정보를 감출 수 있기 때문에, 정보은닉을 할 수 있다는 특징이 있다. 캡슐화와 정보은닉은 동일한 개념은 아님 2. 추상화 (Abstraction) 객체의 공통적인 속성과 기능을 추출하여 정의하는 것...
[SpringBoot] IoC &DI
·
Web & Android/SpringBoot
Object ⇒ 실체화가 가능한 것 Instance ⇒ 실체화 된 것 ex) 가구(추상적) ⇒ 의자, 침대 (Object) ⇒ 세상에 생겼을 때 Instance 가 되는 것 IoC 컨테이너 스프링 프레임워크도 객체를 생성하고 관리하고 책임지고 의존성을 관리해주는 컨테이너 → IoC를 실제로 구현하는 것 Bean → 스프링 컨테이너가 관리하는 객체 빈 팩토리(BeanFactory) → 빈들을 관리한다는 의미의 컨테이너 → 객체의 생성과 객체의 사이의 런타임 관계를 DI 관점에서 볼 때의 컨테이너 ApplicationContext → BeanFactory에 여러가지 컨테이너 기능을 추가한 것 → BeanFactory를 확장한 것 → 스프링의 각종 부가 기능을 추가로 제공 1) 제어의 역전(Inversion ..