Spring

Spring/Spring Framework

[Spring Framework] 서블릿(Servlet)

1. 서블릿(Servlet)이란 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 HTML안에 자바코드가 포함된 JSP와는 달리 자바 코드안에 HTML코드가 포함되어 있다. 출처 : https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EC%84%9C%EB%B8%94%EB%A6%BF 2. HttpServlet HttpServlet을 상속받아 service()메서드를 오버라이딩 하면 HTTP요청을 통해 매핑된 URL이 호출되면 서블릿 컨테이너는 service()를 실행한다. @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet ..

Spring/Spring Framework

[Spring Framework] 웹 애플리케이션의 이해

1. 웹 서버와 웹 애플리케이션 서버 1) 웹 서버(Web Server) HTTP기반으로 동작하고 정적 리소스와 기타 부가기능 제공 NGINX, APACHE 등이 있다. 2) 웹 애플리케이션 서버(WAS : Web Application Server) HTTP기반으로 동작하며 웹 서버 기능 + 프로그램 코드를 실행해서 애플리케이션 로직 수행 동적 HTML, HTTP API(JSON), Servlet, JSP, 스프링 MVC Tomcat, Jetty, Undertow 등이 있다. 그렇다면 웹 서버와 WAS의 차이점은? 보통 웹 서버는 정적 리소스, WAS는 애플리케이션 로직을 처리한다. 자바는 서블릿 컨테이너 기능을 제공하면 WAS라고 한다. 웹 서버도 프로그램을 실행하는 기능을 포함하기도 하지만 WAS가 ..

Spring/Spring Framework

[Spring Framework] 의존관계 주입(Dependency Injection)

앞에서 간단하게 DI에 대해서 알아봤다. [Spring Framework] IOC와 DI IOC와 DI에 대해서 알아보기 전에 순수 자바코드를 먼저보자. public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository = new MemorymemberRepository(); @Override public void join(Member membe hyunbenny.tistory.com 여기서는 의존관계 주입 방법에 대해서 알아보자. 1. 생성자 주입 방법 생성자를 통해서 의존관계를 주입받는 방법 생성자가 호출되는 시점에 단 1번만 호출되는 것이 보장되는 방법이다. 변하지 않거나 필수적..

Spring/Spring Framework

[Spring Framework] @ComponentScan

@ComponentScan이란 설정정보(AppConfig.class)가 없어도 @Component가 붙은 애들을 찾아서 자동으로 스프링 빈을 등록해주는 기능을 말한다. 설정정보 클래스에 @ComponentScan을 붙여준다. 그러면 애플리케이션 실행 시 @Component가 붙은 클래스를 스캔해서 스프링 빈으로 등록한다. @Configuration @ComponentScan public class AutoAppConfig { } @Component public class MemoryMemberRepository implements MemberRepository { ... } @Component public class RateDiscountPolicy implements DiscountPolicy { ....

Spring/Spring Framework

[Spring Framework] 스프링 컨테이너와 싱글톤 컨테이너

먼저 싱글톤이란 무엇일까? 클래스의 인스턴스가 단 하나만 생성되도록 하는 디자인 패턴이다. [디자인패턴] 생성 패턴 - 싱글톤 패턴(Singleton Pattern) [디자인 패턴] 디자인 패턴(Design Pattern)이란 1. 디자인 패턴(Design Pattern)이란 설계에 자주 사용하는 패턴들을 정형화 하여 유형별로 정해두고 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 hyunbenny.tistory.com 갑자기 싱글톤 패턴은 왜..? 웹 어플리케이션은 클라이언트의 요청이 엄청나게 많은데 순수 DI컨테이너(AppConfig)는 요청이 올 때마다 객체를 새로 생성한다. 따라서 트래픽에 따라 메모리 낭비가 심하기 때문에 객체를 1개만 생성하고 공유하도록 설계하여 메모리 낭비를 방지하고자 한..

Spring/Spring Framework

[Spring Framework] 스프링 컨테이너와 스프링 빈

1. 스프링 컨테이너란 주로 ApplicationContext 인터페이스를 스프링 컨테이너라고 한다. * 더 정확히는 BeanFactory, ApplicationContext로 구분해야 한다. 그럼 BeanFactory와 ApplicationContext는 또 뭐냐...? 🔸 BeanFactory : 스프링 컨테이너의 최상위 인터페이스로 스프링 빈을 관리, 조회하는 역할을 한다. 🔸 ApplicationContext : Bean Factory를 상속받아 BeanFactory의 기능 + 추가적인 부가 기능을 제공한다. BeanFactory의 가계도를 보자. * 인텔리제이에서 클래스 다이어그램 간단하게 보는 방법 AnnotationConfigApplicationContext클래스에서 마우스 오른쪽을 눌러 다..

Spring/Spring Framework

[Spring Framework] IOC와 DI

IOC와 DI에 대해서 알아보기 전에 순수 자바코드를 먼저보자. public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository = new MemorymemberRepository(); @Override public void join(Member member){ memberRepository.save(member); } @Override public Member findMember(Long memberId){ return memberRepository.findByid(memberId); } } public class OrderServiceImpl implements OrderServ..

Spring/Spring Framework

[Spring Framework] 스프링 프레임워크란

Spring Framework Documentation Overview History, Design Philosophy, Feedback, Getting Started. Core IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP, AOT. Testing Mock Objects, TestContext Framework, Spring MVC Test, WebTestClient. Data Access docs.spring.io 1. 스프링 프레임워크란 스프링 프레임워크란 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크를 뜻하며 주요 기능에 따라 아래와 같은 모듈들로 나누어져 있다. 핵심 기술..

github.com/hyunbenny/study
'Spring' 카테고리의 글 목록