현재 위치 - 인적 자원 플랫폼망 - 미니프로그램 자료 - JAVA SSH와 JFinal 프레임워크의 차이점은 무엇인가요? (장점과 단점)
JAVA SSH와 JFinal 프레임워크의 차이점은 무엇인가요? (장점과 단점)

1. SSH소개

SSH는 프레임워크가 아니라 여러 프레임워크(struts+spring+hibernate)의 통합입니다. 현재 널리 사용되는 웹 애플리케이션용 오픈 소스 통합 프레임워크로, 유연하고 쉽게 확장 가능한 다중 애플리케이션을 구축하는 데 사용됩니다. 계층 웹 애플리케이션. 아래 그림 1은 SSH의 아키텍처 다이어그램을 보여줍니다.

웹 계층은 MVC 모델에서 "C"(컨트롤러)와 "V"(뷰)로 비즈니스 간의 상호 작용을 제어하는 ​​역할을 합니다. 논리 레이어와 페이지는 SSH 아키텍처에서 Struts가 컨트롤러 역할을 하고 JSP가 뷰 역할을 한다는 것을 보여줍니다.

서비스 계층(비즈니스 로직 계층)은 비즈니스 로직 구현을 담당합니다. 비즈니스 로직 레이어는 DAO 레이어를 기반으로 하며 DAO 구성 요소의 프런트 사이드 모드 패키징을 통해 시스템에서 요구하는 비즈니스 로직을 완성합니다.

영속 객체와의 상호 작용을 담당하는 DAO 계층입니다. 이 계층은 데이터 추가, 삭제, 확인 및 수정 작업을 캡슐화합니다.

PO, 영속 객체. 엔터티-관계 매핑 도구는 관계형 데이터베이스의 데이터를 객체로 매핑하며, 시스템은 Hibernate를 ORM 프레임워크로 사용하여 객체지향적으로 데이터베이스를 운영하기 쉽습니다. Spring의 역할은 전체 중간 계층을 통해 실행되며 웹 계층, 서비스 계층, DAO 계층 및 PO를 완벽하게 통합하며 데이터 서비스 계층은 데이터를 저장하는 데 사용됩니다.

1.1 Struts의 장점과 단점

1.2 Spring의 장점과 단점

Spring은 가벼운 IOC(Inversion of Control) 및 AOP(Aspect Oriented)입니다. 컨테이너 프레임워크.

1.3 Hibernate의 장점과 단점

Hibernate는 JDBC를 매우 가벼운 객체로 캡슐화하여 Java 프로그래머가 원하는 모든 작업을 수행할 수 있도록 하는 오픈 소스 객체 관계형 매핑 프레임워크입니다. 데이터베이스를 조작하는 객체 프로그래밍 사고. Hibernate는 JDBC가 사용되는 모든 상황에서 사용할 수 있으며, Java 클라이언트 프로그램이나 Servlet/JSP 웹 애플리케이션에서 사용할 수 있습니다. 가장 혁신적인 점은 EJB를 사용하는 J2EE 아키텍처에서 CMP를 대체할 수 있다는 것입니다. 데이터 지속성 작업.

장점:

1)

Hibernate는 JDBC의 경량 객체 캡슐화이며 독립적인 객체 지속성 계층 프레임워크입니다. Hibernate는 Java 애플리케이션의 데이터베이스 액세스 코드, DAO 인터페이스의 구현 클래스, BMP의 데이터베이스 액세스 코드 등 JDBC를 사용할 수 있는 모든 상황에서 사용할 수 있습니다.

2)

Hibernate는 JDBC와 밀접한 관련이 있는 프레임워크이므로 Hibernate의 호환성은 JDBC 드라이버 및 데이터베이스와도 일정한 관계가 있지만, 이를 사용하는 Java 프로그램은 AppServer와 관련이 없으며 호환성 문제가 없습니다.

3)

Hibernate는 EntityBean과 직접 비교할 수 없습니다. 전체 J2EE 프로젝트 프레임워크 내에서만 비교할 수 있습니다. 그리고 전체 소프트웨어 프레임워크에서 볼 때에도 Hibernate는 EntityBean을 대체하는 것이 아니라 JDBC를 대체하는 것으로 보입니다.

4)

Hibernate는 오픈 소스 객체 관계형 매핑 프레임워크입니다. 이는 매우 가벼운 객체로 JDBC를 캡슐화하여 Java 프로그래머가 객체 프로그래밍 사고를 사용하여 원하는 대로 데이터베이스를 조작할 수 있도록 합니다.

5)

Hibernate는 JDBC를 사용하는 모든 상황에서 사용할 수 있습니다.

6)

Hibernate는 투명성을 달성하기 위해 바이트코드 향상 프로그램 대신 Java 반사 메커니즘을 사용합니다.

7)

Hibernate의 성능은 경량 프레임워크이기 때문에 매우 좋습니다. 매핑의 유연성이 뛰어납니다.

8)

일대일 관계부터 다대다 복잡한 관계까지 다양한 관계형 데이터베이스를 지원합니다.

단점:

1)

사용되는 개체 모델이 제한됩니다. (예를 들어 지속성 클래스는 여러 테이블에 매핑될 수 없습니다.)

2)

JDBC에 비해 Hibernate는 더 많은 메모리를 소비합니다.

3)

작은 프로젝트의 경우 Hibernate 개발 효율성이 낮습니다.

2. jFinal 소개

jFinal 관련 소개는 /p/jfinal/을 참조하세요.

3. 비교

SSH와 jFinal은 둘 다 나름의 장점이 있다는 것은 부인할 수 없습니다. 선택 방법은 프로젝트와 프로젝트 팀원의 실제 상황에 따라 다릅니다!

참고: *는 해당 항목에 상대적 우위가 있음을 나타냅니다.

원본 주소: /daijin888888/article/details/50800887