우선, "주체적 인 질문"의 유형에서 소프트웨어 개발에있어서 "무언가"가 잘못되었거나 올바르다 고 말하는 것은 약간 까다 롭습니다. 언제나처럼, 그것은 정말로 당신이 필요로하는 것과 EE Container에서 당신이 사용하고있는 것에 달려 있습니다.
Widlfly를 예로 들어 봅시다. JBoss 7 (그리고 Wildfly) 이후로 JBoss는 JBoss가 "무거운"서버라고 말할 수 있다고 생각하지 않습니다. 단지 몇 초 만에 시작할 수 있기 때문에 이전 버전보다 훨씬 빠릅니다. Wildfly에는 사용할 수없는 많은 서비스가 포함되어 있지만 사실은 적어도 2 가지 이유 때문에 "모두 또는 전혀 없음"이라고 말하는 것이 맞지 않습니다.
- 서비스를 사용하지 않도록 설정할 수 있습니다 너는 필요 없어.
- Wildfly는 서비스에 대해 지연로드 개념을 사용합니다. 즉, 지정된 애플리케이션을 실행하는 데 필요한 서비스 만로드합니다.
그렇다면 스프링이 원하는 경우 일부 EE 서비스를 사용한다는 것을 잊지 못할 수도 있습니다. 예를 들어 JMS와 함께 Spring을 사용해야하는 경우 여전히 JMS 컨테이너가 필요합니다. 이 경우 추가 서비스를 설치하지 않고 EE 서버를 사용할 수도 있고 Tomcat에서 JMS 컨테이너를 시작할 수도 있습니다.
EE 기능 외에 configurability/manageability (웹 인터페이스, CLI), HA, 확장 성 등과 같은 서버 관련 기능에 대한 질문도 있습니다. 서버마다 실제로 다릅니다. Jboss 7/Widfly는 이러한 점에 대해 훌륭한 성과를 거두었습니다.
예, Spring을 사용하여 비 EE 컨테이너를 만들 수 있습니다. 예, EE 애플리케이션 서버에서 Spring을 사용할 수 있습니다. 그 문장 중 하나가 당신의 질문에 답합니까? –
왜 나에게 이해가되지 않는 이유는 무엇입니까? EE contaner에는 응용 프로그램에서 항상 사용하지 않는 많은 기능이 있습니다. 그러나 응용 프로그램을 부팅 할 때 사용하지 않더라도 모든 기능이 초기화되며 이는 프로덕션 환경으로서의 자원 낭비입니다. 그리고 그것은 내가 사용하려는 것을 구성 할 수있는 능력을 가지고 있기 때문에 Spring을 사용하여 응용 프로그램을 제작할 때 장점으로 생각하는 것 중 하나입니다. –
그건 다른 질문입니다. 개인적으로는 스프링이 사전 주석 구동 애플리케이션 서버보다 더 잘 설계되어 있기 때문에 필자는이를 사용할 것입니다. Spring은 Spring에서 많은 것을 배운 새로운 주석 기반 서버를 사용하여 덜 유용합니다. 그러나 그것은 실제로 SO에 대한 질문이 아닙니다. 당신이 특별한 경우를 위해 그것을 말하면 않는 한. –