관리 메뉴

CASSIE'S BLOG

Spring 개념정리 본문

PROGRAMMING/JAVA SPRING

Spring 개념정리

ITSCASSIE1107 2023. 11. 29. 13:20

 

 

?[...]는 필터링 연산자

SpEL

SpEL은 Spring Expression Language의 약어로, Spring 프레임워크에서 사용되는 표현 언어입니다. 이 언어는 주로 XML 설정 파일이나 어노테이션 기반의 설정에서 사용됩니다.

간단히 말해서, SpEL은 스프링 애플리케이션 컨텍스트에서 런타임 시에 값들을 평가하고 검색하기 위한 표현 언어입니다. 이는 스프링의 다양한 기능, 예를 들면 빈의 프로퍼티 값 설정, XML 설정 파일에서의 동적 값 지정, 애노테이션에서의 조건부 설정 등에서 사용됩니다.

SpEL의 기능은 다양한데, 몇 가지 주요 특징은 다음과 같습니다:

  1. 프로퍼티 참조: SpEL을 사용하여 빈의 프로퍼티 값을 동적으로 설정할 수 있습니다. 예를 들어, #{systemProperties['java.version']}와 같은 표현식을 사용하여 자바 버전과 같은 시스템 프로퍼티를 참조할 수 있습니다.
  2. 빈 참조: 다른 빈을 참조하고 그 빈의 메서드나 프로퍼티를 호출할 수 있습니다. @Autowired 어노테이션과 함께 사용하면 특정 빈을 주입받아 사용할 수 있습니다.
  3. 콜렉션 처리: 리스트, 맵, 배열 등과 같은 콜렉션에 대한 다양한 연산을 수행할 수 있습니다. 예를 들어, #{myList.?[name == 'John']}와 같은 표현식은 리스트에서 이름이 'John'인 요소들을 필터링합니다.
  4. 조건문 및 연산자: SpEL은 일반적인 프로그래밍 언어와 유사하게 조건문(if-else), 비교 연산자, 산술 연산자 등을 지원합니다.

SpEL을 사용하면 XML 설정 파일이나 어노테이션을 통해 더 유연하고 동적인 스프링 애플리케이션을 만들 수 있습니다. 애플리케이션의 다양한 부분에서 값을 동적으로 설정하거나 빈 간의 의존성을 조절하는 데 사용됩니다.

 

XML언어는 HTML언어와 같은 마크업언어

 

통점 - 마크업 언어:

XML과 HTML 모두 마크업 언어로, 데이터를 구조화하고 표현하기 위해 태그를 사용합니다.
태그는 데이터의 의미와 구조를 정의하는 역할을 합니다.
차이점 - 목적과 사용:

XML (Extensible Markup Language):

주로 데이터의 구조화와 전송을 위해 사용됩니다.
데이터의 의미와 계층 구조를 갖는데 중점을 둡니다.
사용자가 직접 정의한 태그를 사용하여 특정 도메인이나 애플리케이션에 맞는 데이터 구조를 만들 수 있습니다.
HTML (Hypertext Markup Language):

주로 웹 페이지의 구조와 콘텐츠를 표현하는 데 사용됩니다.
데이터의 시각적 표현과 사용자 인터페이스에 중점을 둡니다.
웹 브라우저에서 페이지를 렌더링하는 데 사용되며, 텍스트, 이미지, 링크 등을 표현합니다.
태그 사용의 차이:

XML: 태그는 데이터의 의미를 설명하며, 사용자가 필요에 따라 자신만의 태그를 정의할 수 있습니다.
HTML: 태그는 주로 문서의 구조를 정의하고, 미리 정의된 태그들이 특정 의미를 가지며 웹 브라우저에 의해 해석되어 렌더링됩니다.
요약하면, XML은 데이터의 구조화와 전송에 중점을 둔 범용 마크업 언어이며, HTML은 웹 페이지의 구조와 콘텐츠를 표현하는 데 중점을 둔 마크업 언어입니다.

 

 

Spring에서 Portlet이 어떤 의미를 갖는거야? 

 

Spring Portlet은 Spring Framework에서 제공하는 모듈 중 하나로, 포틀릿 기반의 웹 애플리케이션을 개발할 수 있게 해주는 기능을 제공합니다. 여기서 "포틀릿"은 특별한 종류의 웹 컴포넌트를 나타냅니다.

포틀릿(Portlet)의 주요 특징:

모듈화된 웹 컴포넌트: 포틀릿은 모듈화된 웹 컴포넌트로, 하나의 웹 페이지에 여러 개의 포틀릿을 배치할 수 있습니다. 각 포틀릿은 독립적으로 개발되고 유지보수되며, 페이지의 레이아웃을 동적으로 조정할 수 있습니다.

동적 레이아웃: 사용자는 웹 페이지에서 각 포틀릿의 위치를 변경하거나 숨기는 등의 조작이 가능합니다. 이로 인해 사용자는 자신만의 사용자 정의화면을 만들 수 있습니다.

이벤트 기반 프로그래밍: 포틀릿은 서로 간에 이벤트를 주고받을 수 있습니다. 이벤트가 발생하면 특정 포틀릿에서 처리될 수 있고, 다른 포틀릿에도 영향을 미칠 수 있습니다.

Spring Portlet 모듈:

Spring Portlet 모듈은 Spring Framework의 일부로 제공되며, 일반적인 웹 애플리케이션 개발 패턴에 Spring의 편리한 기능을 포틀릿 개발에 적용할 수 있게 해줍니다. 이 모듈은 포틀릿 컨테이너에 배포할 수 있는 포틀릿을 개발하고, 이를 Spring의 IoC 컨테이너와 통합하여 사용할 수 있도록 지원합니다.

Spring Portlet 모듈을 사용하면 일반적인 Spring 기능과 함께 포틀릿 개발에 필요한 기능들을 손쉽게 사용할 수 있습니다. 이는 웹 애플리케이션을 모듈화하고 재사용 가능한 컴포넌트로 구성할 수 있는 장점을 제공합니다.

반응형

'PROGRAMMING > JAVA SPRING' 카테고리의 다른 글

JPA  (0) 2024.01.16
Spring Boot - Bean  (1) 2024.01.02
멤버변수 개념  (0) 2023.10.12
토비의 스프링 3.1 요약 정리  (4) 2023.06.12
[비공개] 스프링 AOP  (0) 2023.06.10