[스프링] 스프링 EL 멀티 모듈 프로젝트에서의 사용
스프링 Expression Language(EL)은 주로 JSP와 XML에서 사용되지만, 스프링 애플리케이션 컨텍스트와 같은 다른 스프링 구성 요소에서도 사용할 수 있습니다. 다중 모듈 스프링 프로젝트에서 스프링 EL을 사용하는 방법을 살펴보겠습니다.
1. 의존성 추가
먼저, 모든 모듈의 build.gradle
파일에 다음 의존성을 추가합니다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-devtools'
implementation 'org.springframework.boot:spring-boot-configuration-processor'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'org.springframework.boot:spring-boot-starter-aop'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-hateoas'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
}
2. EL 사용
다음으로, 스프링 EL을 사용하여 프로젝트의 다른 모듈에서 데이터를 공유하거나 조작할 수 있습니다. 예를 들어, ModuleA
와 ModuleB
모듈 간에 데이터를 전달하고 조작할 때 스프링 EL을 사용할 수 있습니다.
ModuleA
의 서비스 클래스에서 다음과 같이 값을 설정하고 이를 스프링 EL 표현식으로 전달할 수 있습니다.
@Component
public class MyService {
private String myValue = "Hello from ModuleA";
// getter and setter for myValue
}
이제 ModuleB
의 컨트롤러에서 해당 값을 가져와 사용할 수 있습니다.
@Controller
public class MyController {
@Autowired
private MyService myService;
@GetMapping("/")
public String getIndex(Model model) {
model.addAttribute("valueFromModuleA", myService.getMyValue());
return "index";
}
}
이제 index.html
템플릿에서 스프링 EL 표현식으로 ModuleA
의 값을 사용할 수 있습니다.
<p th:text="${valueFromModuleA}"></p>
이렇게 함으로써, ModuleA
와 ModuleB
사이에서 스프링 EL을 사용하여 데이터를 교환할 수 있습니다.
이제 스프링 EL을 멀티 모듈 프로젝트에서 사용하는 방법에 대해 알아보았습니다. 이를 통해 다양한 모듈 간에 데이터를 교환하고 조작하는 데 유용하게 활용할 수 있습니다.
필요한 경우 스프링 공식 문서를 참조하십시오.