봄에 XML 구성에 비해 JavaConfig의 이점은 무엇입니까?
이전의 구성들은 코드에서 하드 코드화되곤 했지만, 나중에 .property 파일로 외부화(하드 코드화된 값을 피하기 위해, 구성을 변경하기 위해 코드를 변경하는 것을 피하기 위해 등)된 다음 XML로 이동했습니다(더 표준화되고 오류가 발생하지 않기 위해 등)
이제 Spring 3의 @Configuration에 대해 읽어보면 다시 초기 접근 방식으로 돌아가는 것 같습니다.
외부화하지 않고 코드에서 구성을 하드코딩하려는 이유는 무엇입니까?
몇가지 장점이 있습니다.
- 자바는 안전한 타입입니다.올바른 클래스 한정자를 구성하는 경우 컴파일러가 문제를 보고합니다.
- 구성에 기반한 XML은 빠르게 확장할 수 있습니다.[네, 분할해서 수입할 수는 있지만 그래도]
- 검색은 훨씬 간단합니다. 리팩토링이 더 행복할 것입니다.콩의 정의를 찾는 것은 훨씬 쉬워질 것입니다.
여전히 XML 구성을 좋아하고 계속하는 사람들이 있습니다.
여기 정답이 나왔습니다. 그 정답 외에 한 점 더 드립니다.
XML 기반 메타데이터는 구성 메타데이터의 유일한 형식이 아닙니다.Spring IoC 컨테이너 자체는 이 구성 메타데이터가 실제로 작성되는 형식과 완전히 분리되어 있습니다.요즘 많은 개발자들이 봄 애플리케이션을 위해 자바 기반 구성을 선택하고 있습니다.
그것은 요즘 사람들이 자바 기반의 구성을 향해 나아가고 있다는 것을 의미합니다.
예: xml의 스프링 웹-mvc 구성
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="controller" />
<context:component-scan base-package="dao" />
<context:component-scan base-package="service" />
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
자바 기반 스타일의 동일한 구성
@Configuration
@EnableWebMvc
@ComponentScans({
@ComponentScan("controller"),
@ComponentScan("dao"),
@ComponentScan("service")
})
public class WebMVCConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/pages/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
무엇이 이해하기 쉽습니까?분명 자바 기반의 구성은 이해하기 쉽습니다.
코드를 쓰는 사람들이나 다른 사람들은 XML보다 자바 코드를 쉽게 이해할 수 있습니다. 그리고 자바만 알면 XML에 대해 알 필요가 없습니다.
언급URL : https://stackoverflow.com/questions/29162278/benefits-of-javaconfig-over-xml-configurations-in-spring
'source' 카테고리의 다른 글
WordPress Theme "ERROR: 테마가 상위 테마로 정의됩니다.템플릿 헤더를 확인해 주시기 바랍니다." (0) | 2023.09.14 |
---|---|
PHP/MySQL 응용 프로그램에서 멀티코어 CPU를 어떻게 잘 활용합니까? (0) | 2023.09.14 |
node.js가 'npm start'를 표현하는 앱을 중지하는 방법 (0) | 2023.09.14 |
Basic Powershell - Word Docx를 PDF로 일괄 변환 (0) | 2023.09.09 |
Spring RedisConnectionFactory 트랜잭션이 Pool에 연결을 반환하지 않은 다음 소진 시 차단됩니다. (0) | 2023.09.09 |