Skip to content

[발전 방안 제안(Improvement Plan)]: spring boot starter 제공 제안 #181

@Clickin

Description

@Clickin

아이디어명 Idea Name

egov-boot-starter 제안

아이디어 요약 Idea Summary

autoconfigure와 starter를 구성하고 spring boot에서 해당 의존성을 추가하기만 하면 자동으로 필요한 bean들이 구성되도록 제공. 이를 통해 사용자는 빠르고 편리하게 전자정부프레임워크를 구성할 수 있음

제안배경 Suggestion Background

spring boot에서는 빈을 자동 구성해주는 autoconfigure와 의존성을 관리해주는 starter 기능을 사용하여 개발자가 편리하게 의존성 묶음을 추가하고 자동으로 스프링 빈을 구성하는 라이브러리를 만들 수 있습니다.
이렇게 runtime의 각 모듈별로 자동화된 구성을 제공하면 의존성에서 추가와 동시에 바로 사용이 가능합니다.

추가로 이를 도입하기 위해서는 runtime의 모듈이 사용하는 property는 미리 정의해서 제공하는 breaking change가 필요합니다. (ex:egovframe.core.xxx)
기존의 자유로운 프로퍼티 구성은 여전히 사용 가능하며 각 개발자가 필요한 항목을 구현할 때 사용하도록 제공할 수 있습니다.
미리 정의된 설정을 제공함으로서 설정파일을 수정할 때 IDE가 hint나 자동완성을 제공가능한 이점도 있습니다.

기대효과 Expectations

호환성 확인 간소화
설정 가이드 간소화
xml 설정 관리의 난이도 감소

자유기술 Free Writing

현재 스프링 프레임워크는 xml 기반 설정을 탈피하려는 움직임을 보이고 있습니다. <mvc:* 네임스페이스는 spring framework 7에서 java config로 대체되었습니다. 아직은 xml 기반 bean 정의를 지원하지만 이 기조는 유지되리라 예상합니다.
Spring framework 7 릴리즈 노트의 원문을 첨부합니다.

Deprecations
The <mvc:* XML configuration namespace for Spring MVC is now deprecated in favor of the Java configuration variant. There are no plans yet for removing it completely, but XML configuration will not be updated to follow the Java configuration model. Other namespaces (like ) are NOT deprecated.

spring framework 7이 올해 11월에 릴리즈되는데 spring framework 6 대응 전자정부프레임워크 v5.0 베타가 12월에서야 나오는 상황은 안타깝지만 외부에서는 전자정부프레임워크가 많은 레거시를 안고 있다고 보일 수밖에 없습니다.
전자정부 프레임워크도 하루빨리 현대적인 방식으로 개발할 수 있도록 발전해나가야한다고 생각합니다.

참고문헌 Reference

https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-7.0-Release-Notes

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions