>### 스프링이란? 자바의 오픈소스 프레임워크, DB 접근, 클라우드 등 여러가지 기술들을 가지고 있음. 스프링의 분류 스프링에는 스프링 프레임워크, 스프링 부트 등 여러가지 기능들이 있다. 여러가지 기능들을 통합하고 편리하게 사용할 수 있도록 도와주는 것이
1. Spring project 만들기 Spring project를 만들기 위해 가장 먼저 해야할 일은 https://start.spring.io/ > 환경설정 Project : Gradle - Groovy Language : Java Spring Boot : 2.
새로운 할인 정책 개발 만약 다음과 같은 상황이라고 가정해보자 악덕 기획자 : 서비스 오픈 직전에 할인 정책을 지금처럼 고정 금액 할인이 아니라 좀 더 합리적인 주문금액당 할인하는 정률% 할인으로 변경하고 싶어요. 고정 금액인 1000원보다는 금액에 따라서 10%
스프링 컨테이너(ApplicationContext) 스프링 컨테이너 생성 ApplicationContext를 스프링 컨테이너라 한다 ApplicationContext는 인터페이스이다 두가지 방법으로 만들 수 있다 XML 기반 Annotation기반의
웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션 이지만, 웹이 아닌 애플리케이션도 얼마든지 개발할 수 있다. 웹 애플리케이션은 보통 여러 고객(클라이언트)이 동시에 요청을
📌컴포넌트 스캔과 의존관계 자동 주입 앞서 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 ``을 이용해 설정 정보에 직접 여러 개의 스프링 빈들을 등록했다 그러나 등록해야 할 스프링 빈이 많이질수록 일일히 등록하기 힘들어진다 그래서 스프링은 설정 정
📌다양한 의존관계 주입 방법 이번 포스트에서는 컴포넌트 스캔에서 잠깐 언급했던 의존관계를 자동 주입해주는 @Autowired에 대해서 파헤쳐볼 것이다 ✅생성자 주입 이름 그대로 생성자를 통해 의존관계를 주입받는 방법이다 이전 포스팅부터 쭉 진행해왔던 방법이 생
스프링 빈은 객체 생성 -> 의존관계 주입 과 같은 라이프사이클을 가진다즉 데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화(여기서 초기화
📌빈 스코프란? >빈 스코프란 말 그대로 빈이 존재할 수 있는 범위를 뜻한다 ✅빈 스코프의 종류 싱글톤 : 기본 스코프, 스프링 빈이 스프링 컨테이너의 시작과 동시에 생성되고, 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 : 스프링 컨테이너가 프로토타입
Spring Boot로 프로젝트를 하다보면 많은 라이브러리를 의존성 주입해서 사용하게 되는데.. 그럴때마다 어떤 버전을 사용해야될지 정확하게 모르는 경우가 많다라이브러리 버전을 찾는 나만의 꿀팁(?)이다다양한 방법이 있겠지만 필자는 Spring 공식 문서를 참고한다.h
📌스프링이란? 스프링은 프레임워크이다. 스프링은 오픈소스이다. (중요)★★스프링은 IoC 컨테이너를 가진다.★★(주도권이 스프링한테 있다) 스프링은 DI 를 지원한다. 스프링은 엄청나게 많은 필터를 가지고 있다. 스프링은 엄청나게 많은 어노테이션을 가지고 있다. (
ㅇㅇ
스프링은 MessageConverter를 가지고 있다. 기본값은 현재 Json이다. 스프링은 BufferedReader와 BufferedWriter를 쉽게 사용할 수 있다. 스프링은 계속 발전중이다.
📌JPA란? >JPA는 Java Persistence API의 약자입니다. Java 애플리케이션에서 관계형 데이터를 관리하는 표준화된 방법을 제공하는 Java EE(Enterprise Edition)의 사양입니다. JPA는 개발자가 ORM(Object-Relati
📌포스팅에 앞서.. 필자가 배운 내용을 정리하고자 함에 의의를 뒀으니 비유적인 표현이 많고 개념을 정의함에 있어서 이태리 장인의 정통 피자처럼 정밀한 정의가 아닌 마트에서 사먹는 냉동피자처럼 살짝은 느슨한(?) 정의임을 인식해주었으면한다. 피드백 절대환영!!! ❓
📌포스팅에 앞서.. 필자가 배운 내용을 정리하고자 함에 의의를 뒀으니 비유적인 표현이 많고 개념을 정의함에 있어서 이태리 장인의 정통 피자처럼 정밀한 정의가 아닌 마트에서 사먹는 냉동피자처럼 살짝은 느슨한(?) 정의임을 인식해주었으면한다. 피드백 절대환영!!!
📌포스팅에 앞서.. 필자가 배운 내용을 정리하고자 함에 의의를 뒀으니 비유적인 표현이 많고 개념을 정의함에 있어서 정석적인 정의가 아님을 인식해주었으면한다. 피드백 절대환영!!!
📌웹서버(아파치)의 역할 웹 서버란 흔히 말해 클라이언트의 요청을 처리하는 컴퓨터라고 생각하면 된다. 📌톰캣의 역할 📌
📌서블릿 컨테이너
📌web.xml(웹 배포 서술자) web.xml란 웹 배포 서술자라고 하는데, 웹 페이지로 들어온 요청을 처리하는 시작점이라고 볼 수 있다. web.xml은 다음과 같은 기능을 가진다. Session의 유효시간 설정 Servlet/JSP에 대한 정의와 매핑 M
📌DTO? DTO란 Data Transfer Object를 의미한다. 직역을 해보면 data를 object로 변환한다는 의미이다. 왜 data를 object로 변환을 해야할까? data를 object로 변환을 해야하는 이유는 기본적으로 클라이언트와 서버간의 데이터
HTTP 기반으로 동작정적 리소스(HTML, CSS, JS, 이미지, 영상) 제공, 기타 부가기능ex) NGINX, APACHEHTTP 기반으로 동작웹 서버 기능 포함(정적 리소스 제공 가능)프로그램 코드를 실행해 애플리케이션 로직 수행동적 HTML, HTTP API(
보통 우리가 실제 프로젝트 이외의 연습을 할 때는 다음과 같이 println 메소드를 사용해 콘솔창에 출력한다 그런데, 다음과 같이 println 메소드는 단점이 여러가지 있다. 로그의 기능들을 살펴보면 그 단점을 더 명확히 이해할 수 있다. slf4j slf
GET - 쿼리파라미터/url?username=hello&age=24메시지 바디 없음POST - HTML Formcontent-type : application/x-www-form-urlencoded \- 메시지 바디에 쿼리 파라미터 형식으로 전달 username=he
ItemController.javatemplate/basic/item.html위의 컨트롤러와 뷰 템플릿(thymeleaf) 파일을 보면, 상품을 상품 등록 폼을 통해 등록을 하면 http://localhost:8080/basic/items/add로 post 요