스프링

Cloud-DevLog
[Spring] JAR VS WAR
·Spring
JAR? WAR?JAR과 WAR은 모두 Java의 jar 옵션을 이용하여 생성된 압축(아카이브)한 파일로 애플리케이션을 쉽게 배포하고 동작시킬 수 있게 파일들을 패키징한 것이다. JAR(Java ARchive)JAR은 패키지 파일 형식으로 .jar 확장자를 가진다.Java 애플리케이션이 동작하도록 Java 프로젝트를 압축한 파일이다.Class (Java 리소스, 속성 파일), 라이브러리 등을 포함한다.JRE(Java Runtime Environment)만 있어도 실행 가능하다.java -jar 프로젝트명.jar WAR(Web Application ARchive)WAR은 웹 애플리케이션 아카이브 or 웹 애플리케이션 리소스를 나타내며, .war 확장자를 가진다.모든 Servlet/JSP 컨테이너에 배포할 ..
[Spring] Spring VS Spring Boot
·Spring
Spring VS Spring BootSpring과 Spring Boot는 Java 애플리케이션 개발을 위해 널리 사용되는 오픈 소스 프레임워크이다. 둘 다 개발을 위한 강력한 기능을 제공하지만 용도와 접근 방식에서 차이가 있다. Spring Framework(Spring)Spring은 엔터프라이즈급 애플리케이션을 개발하기 위한 종합적인 프레임워크이다. 애플리케이션의 다양한 계층(Web, Data Access, Business Logic 등)를 쉽게 관리하고 통합할 수 있게 해준다. Spring의 주요 모듈로는 Spring Core, Spring MVC, Spring Data, Spring Security 등이 있다. 여러 설정 파일과 어노테이션을 통해 애플리케이션 동작을 세밀히 조정한다. Spring ..
[Spring MVC] 웹 애플리케이션 이해
·Spring
웹 서버, 웹 애플리케이션 서버웹(HTTP 기반)HTML 메시지로 HTML, TEXT, 이미지, 음성, 영상, JSON, XML 등등 모든 형태의 데이터를 전송할 수 있다. 웹 서버(Web Server)HTML 기반으로 동작하고 정적 리소스를 제공하며 기타 부가 기능을 가진다.정적 리소스는 HTML, CSS, JS, 이미지, 영상 등이 있다.기술: Nginx, Apache 웹 애플리케이션 서버(Web Application Server - WAS)HTML 기반으로 동작하고 웹 서버의 기능을 포함한다.프로그램 코드를 실행하여 애플리케이션 로직을 수행한다.동적 HTML, HTTP API(JSON)서블릿, JSP, 스프링 MVC기술: Tomcat, Jetty, Undertow 웹 서버(Web Server) VS..
[Spring] 스프링 빈 스코프(Bean Scope)
·Spring
빈 스코프(Bean Scope)란?스프링 빈(Spring Bean)이 스프링 컨테이너에 시작과 동시에 만들어지고, 컨테이너가 종료될 때까지 유지된다고 지금까지 배웠으며, 이는 스프링 빈이 기본적으로 싱글톤 스코프(Singleton Scope)로 생성되기 때문이였다. 즉, 빈 스코프(Bean Scope)는 빈이 존재할 수 있는 범위를 말한다. 하지만, 요구사항과 여러 구현할 기능에 의해 싱글톤이 아닌 스코프도 필요한 경우가 많다. 이를 명시적으로 구분하려고 Scope라는 키워드가 존재한다. 빈 스코프 종류싱글톤 스코프스프링 프레임워크의 기본 스코프이며, 스프링 컨테이너 시작과 종료 사이에 유지되는 가장 넓은 범위의 스코프이다. 프로토타입 스코프프로토타입 빈의 생성과 의존 관계 주입까지만 관여하고 그 외에는..
[Spring] 빈 생명주기 콜백(Bean LifeCycle Callback)
·Spring
빈 생명주기 콜백(Bean LifeCycle Callback)이 필요한 이유?스프링 컨테이너가 객체를 관리한다는 것은 객체가 생성하고 소멸하는 생명주기 LifeCycle를 관리한다는 것이다. 여기서 콜백 함수란, 특정 이벤트나 조건이 발생했을 때 호출되는 함수이다. Spring 프로젝트 시작 시, DB 연결, 소켓 연결 등 시간이 걸려 미리 연결을 하고, 애플리케이션 종료 시점에 연결을 종료해야 하는 경우가 있다. 이 경우에는 객체를 초기화하고 종료하는 작업을 해줘야 한다. 예 : Connection Pool의 Connect, Disconnect 스프링 빈도 초기화와 종료 작업이 진행된다. 객체 생성, 의존 관계 주입의 생명주기를 가지고 있다. 결국, Spring Bean은 객체 생성과 의존 관계 주입이..
[Spring] 컴포넌트 스캔(Component Scan)
·Spring
컴포넌트 스캔@Component를 가진 모든 대상을 가져와 Bean에 등록하기 위해 찾는 과정을 말한다. 즉, 빈 설정 파일과 @Bean을 통해 빈을 일일이 지정할 필요가 없다. 즉, 명시적인 등록과 달리, 자동으로 빈을 등록하는 방법이다. 1. xml 파일에 설정하기 2. Java 파일 안에서 설정하기 (*실무에서 많이 쓰는 방법)@Configuration @ComponentScan(basePackages = "com.dx") public class AppConfig { } 컴포넌트 스캔 대상@Component : 컴포넌트 스캔에서 사용한다.@Controller : Spring MVC Controller에서 사용한다.@Service : Spring Business 로직에서 사용한다.@Repository..
[Spring] 스프링 싱글톤 컨테이너(Singleton Container)
·Spring
싱글톤이 등장한 배경스프링은 엔터프라이즈 웹 애플리케이션 기술을 지원하는 프레임워크이다. 주로 여러 클라이언트가 동시에 요청을 한다. 요청이 들어올 때마다 새로운 객체를 생성하는 것은 비효율적이다. 싱글톤 패턴싱글톤 패턴 포스팅 링크 [디자인 패턴] 싱글톤 패턴(Singleton Pattern)싱글톤 패턴(Singleton Pattern)이란?싱글톤 패턴은 디자인 패턴(Design Pattern) 중 생성 패턴(Creational Pattern)이다.생성 패턴 : 객체의 생성과 관련된 패턴이며, 객체의 생성 절차를 추상화하는 패턴객체cloud-grace.tistory.com싱글톤 패턴에 대한 자세한 내용은 위 포스팅을 참고하자. 싱글톤 예제 코드구현 방법은 여러 가지이지만, 객체를 미리 생성해두는 가장 ..
[Spring] POJO(Plain Old Java Object)란?
·Spring
POJO(Plain Old Java Object)란? 이전 포스팅에서 스프링의 삼각형으로 이루어진 스프링의 3대 요소 IoC/DI, AOP, PSA에 대해 알아보았다. 그럼 중앙에 있는 POJO는 무엇일까? 위 그림처럼 POJO는 3대 요소를 통해 POJO를 달성할 수 있다는 의미이다. POJO는 Plain Old Java Object의 약자이며, 말 그대로 오래된 방식의 간단한 자바 객체이다. 즉, 자바로 만드는 순수한 객체를 말한다. 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발하여 사용되었으며, 2009년 9월, 마틴 파울러 등이 사용하기 시작하였고, 아래와 같이 기원을 밝히고 있다.  우리는 사람들이 자기네 시스템에 보통의 객체를 사용하는 것을..
cloud-grace
'스프링' 태그의 글 목록