2011-01-12 2 views
11

핵심 Java 과정을 마치고 이제 Java EE쪽으로 이동해야합니다. 처음부터 끝까지 쉽게 가르치는 책이 있고 모든 것이 거기에 있기 때문에 Java EE 6과 함께해야한다는 것이 너무 혼란 스럽습니다.스프링 또는 Java EE 6을 사용해야합니까?

아니면 Spring으로 시작해야합니까?

처음부터 다시 시작해야하기 때문에 좋은 추세를 따르고 직업 지향적이기 때문에.

Java EE 만 수행하고 Spring으로 이동할 필요가있는 경우에도 그럴 것입니다. 그 반대의 경우도 마찬가지입니다.

Hibernate도 그 사이에 서 있습니까? Java EE 6을 사용하면 Hibernate가 필요하거나 Java EE 6에서 필요하지 않습니다. 필요하지 않습니다.

스프링을 사용하지 않으면 단점이 있습니다. 스프링을 사용하면 내 건물 웹 응용 프로그램을 핵심 Java EE/JSF 프레임 워크보다 쉽게 ​​만들 수 있습니다.

+0

스프링은 단지 도구 일뿐입니다. 종종 더 나은 도구를 사용하는 방법을 알고있는 도구가 많아 질수록 더 나은 결과를 얻을 수 있습니다. – DwB

답변

15

Spring과 Java EE는 서로 다른 두 가지 사실을 암시하지만 실제로는 다릅니다. 당신은 스프링 MVC에 대한

  • 서블릿과 JSP, 스프링 DAO에 대한
  • JPA처럼 많은 자바 EE 구성 요소를 사용할 수 있습니다. 봄 보안 유일하게 중요한 것은 스프링이 자바 EE 스택에서 대체

에 대한

  • JTAEJB입니다. EJB 사용을 강력히 주장하지 않는 한, Spring은 갈 길이 멀다.또한 Spring은 webservices와 다른 것들에 대한 inbuilt 지원을 제공합니다.

    스프링을 기본으로 사용하는 GroovyGrails도 확인하십시오.

    마지막으로 나는 기능면에서 모두 똑같다고 말합니다. 환경 설정 (Spring)과 코드 (Java EE), 환경 설정의 문제입니다.

  • +0

    마지막 성명서를 통해 JEE 6은 풍부한 구성을 지원하지 않는다는 것에 동의합니다. 동의하지 않습니다. JEE6, 나는 "confiuration을 통한 컨벤션"원칙을 따른다고 믿는다. –

    +0

    예, 주석을 사용하면 많은 구성을 할 수 있지만 JEE만으로 초기화 및 "상용구"코드를 얻을 수는 없다. – Manoj

    +2

    +1 "귀하의 질문에 Spring과 JEE가 다른 두 가지 사실이 있음에도 불구하고 실제로는 그렇지 않습니다." – Ralph

    7

    내 모든 의견은 소금 한알을 가지고 취해야합니다. 저는 1.0 버전 이후로 Spring 사용자였습니다. 프로덕션 환경에서 EJB 버전을 전혀 사용하지 않았습니다. 1.0에서 현재까지.

    스프링은 나에게 잘 해줬 다. Java EE에서 적용하고 싶은 기술은 봄에 나와 사용할 수있다. 웹 서비스, LDAP, 메시징 및 포틀릿 모듈을 지속성, 원격 및 웹 MVC의 일반적인 용의자와 함께 사용했습니다. 코드는 우수합니다. 필자는 레이어링, 인터페이스 코딩, 의존성 삽입 및 aspect 지향 프로그래밍의 이점이 내 디자인에 중요하다는 것을 알게되었습니다.

    진실은 당신이 어느 쪽인가를 선택해서 작동하게 할 수 있다는 것입니다. 이 시점에서 EJB3는 Spring과 많이 유사하기 때문에 비슷한 점이 거의 없거나 장점이 거의 없습니다. 나는 EJB 3를 사용하지 않았기 때문에 개인적인 경험으로 그런 말을 할 수 없다.

    내 고용주 나 클라이언트 중 EJB 3을 요구하는 사람이 없다. 내 시장에있는 사람들이 웹 서비스와 대화하기 위해 Spring이나 .NET을 사용하고있다. HTTP를 통해.

    EJB의 경우 네트워크 프로토콜로 RMI 또는 CORBA를 사용해야합니다. RPC 기반 XML, SOAP 또는 REST가 HTTP 기반 프로토콜이라고 생각합니다. 간단하고 개방적이기 때문에 일반적으로 성공합니다.

    아무도 미래를 예언 할 수 없으므로 직업 전망에 대한 조언은 쓸모가 없습니다. 해당 지역의 시장 조건이 내 것과 다를 수 있습니다. 당신은 당신의 내기를 헤지하고 둘 다를 배울 수 있습니다. 어느 것을 선택하든 EJB 나 Spring이 아닌 미래에 새로운 것을 배워야한다는 것은 거의 확실합니다. 그러니 하나를 선택하고 변경할 준비를하십시오.

    +2

    +1 "내 고용주 나 고객 중 EJB 3에 대한 요구가 없습니다."- 동의 함! – Casey

    0

    스프링과 Java EE 6은 일부 의미가 비슷합니다. 그들은 평행으로 나아 간다. Java EE 6을 배우고 Spring을 배우고 싶다면 (필요하다면/필요하다면) 더 좋을 것 같습니다.

    Java EE에는 다양한 데이터베이스 쿼리 목적으로 매우 잘 작동하는 Java 지속성이 있습니다.

    1

    그냥 표준 Java에서 Java EE/Web 프로그래밍을 배우면서 얻은 개인적인 경험을 통해 Java EE/Web 제품의 작동 방식을 명확하게 이해하지 못한 채 몇 가지 프레임 워크로 바로 이동하려했습니다. Spring과 같은 프레임 워크를 사용하는 경우 모든 Java EE가 관련이있는 것은 아니지만 일부 기본 기술을 잘 이해하는 것이 좋습니다. 선상에 갈 필요는 없지만 몇 가지 기본 사항을 이해하는 것이 좋습니다.

    라이브러리 (예 : Spring)에서 올바르게 설정되지 않은 항목은 때로는 사용자의 특정 부분에 대한 지식 수준을 가정합니다. 몇 가지 기본적인 문제로 고심하고 나서는 시간을 들여서 기본으로 돌아갔습니다. 그 후에 나는 프레임 워크를 더 잘 다룰 수있었습니다.

    나는 EJB 경로를 그냥 쓰지 않을 것이다.

    0

    먼저 Java EE는 단일 사양이 아니며 일련의 사양입니다. Spring은 프레임 워크 인 반면. 스프링은 EJBs을 비롯한 많은 Java EE 사양과 잘 통합되어 있습니다. 사양을 사용하는 아이디어는이 사양의 다른 구현간에 응용 프로그램을 이식 가능하게 만드는 것입니다. 불행히도 이것은 실생활에서 아주 잘 작동하지 않습니다.
    이제 Hibernate에 관해서. 다시 : 프레임 워크입니다. Java EE에는 JPA이라는 사양이 있습니다. Hibernate는 JPA를 구현한다. 다른 구현을 찾을 수 있습니다. 따라서 다른 구현체를 사용한다면, 당신은 Hibernate를 필요로하지 않는다.

    이제는 결론을 알고 싶을 것입니다. 나는 그것을 정말로 가지고 있지 않다. Java를 공부하고 있다면 더 많이 알수록 더 좋습니다.
    새로운 웹 애플리케이션을 시작하기위한 기술을 찾고 있다면, 지속성을 위해 JPA (최대 절전 모드 구현)를 사용하려면 Jetty 또는 Tomcat +와 같은 서블릿 컨테이너 (서블릿 컨테이너는 Java EE의 일부 임)와 함께 Spring을 사용하는 것이 더 바람직하다고 생각한다. .

    0

    새 프로젝트에는 Spring과 함께 할 이유가 없습니다. 거기에 아직도 그것을 사용하는 응용 프로그램이 많이 있습니다. Java EESpring 전에 반드시 알아야합니다. 개발을 쉽게하기 위해 Spring이 사용되었습니다. 이 시점에서 Java EE은 더 쉽게 작업 할 수 있으며 Spring 종속성을 제거 할 수 있습니다.