Java Java베이스 SSM이 무엇인가요?

SSM이 무엇인가요?

Nov 12, 2020 pm 04:01 PM
java ssm

Ssm(Spring+SpringMVC+MyBatis의 전체 이름)은 현재 주류 Java EE 엔터프라이즈급 프레임워크이며 다양한 대규모 엔터프라이즈급 애플리케이션 시스템을 구축하는 데 적합합니다. SSM은 시스템적 사고를 활용하여 비시스템적 문제를 해결하는 질적 연구 기술인 "소프트 시스템 방법론"을 의미할 수도 있습니다. Spring+SpringMVC+MyBatis의 전체 이름인

SSM이 무엇인가요?

ssm은 SSH 이후 현재 주류인 Java EE 엔터프라이즈급 프레임워크로, 다양한 대규모 엔터프라이즈급 애플리케이션 시스템을 구축하는 데 적합합니다.

세 가지 SSM 프레임워크 소개

Spring 소개

Spring은 2003년에 등장한 경량 Java 개발 프레임워크입니다. Rod Johnson이 그의 저서에 썼습니다. Expert One - -On-One J2EE 개발 및 설계에 설명된 일부 개념과 프로토타입에서 파생되었습니다. 엔터프라이즈 애플리케이션 개발의 복잡성을 해결하기 위해 만들어졌습니다. Spring은 이전에 EJB를 통해서만 가능했던 작업을 수행하기 위해 기본 JavaBeans를 사용합니다. 그러나 Spring의 용도는 서버측 개발에만 국한되지 않습니다. 모든 Java 애플리케이션은 단순성, 테스트 용이성 및 느슨한 결합 측면에서 Spring의 이점을 누릴 수 있습니다. 간단히 말해서 Spring은 경량의 IoC(Inversion of Control) 및 AOP(Aspect-Oriented) 컨테이너 프레임워크입니다.

spring의 장점:

A. Spring의 IOC 기능을 통해 객체 간의 종속성이 Spring에 의해 제어되므로 분리가 용이하고 개발이 단순화됩니다.
 B. Spring의 AOP 기능을 통해 트랜잭션, 로그, 권한을 쉽게 제어할 수 있습니다.
  C. 다른 우수한 오픈 소스 프레임워크에 대한 통합 지원을 제공합니다.
  D. 낮은 침입.

Spring MVC 소개

Spring MVC는 Spring Framework의 후속 제품으로 Spring Web Flow에 통합되어 기본적으로 Spring 기능을 지원하므로 개발이 매우 간단하고 표준화되었습니다. Spring MVC는 컨트롤러, 모델 객체, 디스패처 및 핸들러 객체의 역할을 분리하여 사용자 정의를 더 쉽게 만듭니다.

SpringMVC의 장점

 A. springMVC는 MVC 디자인 아이디어를 사용하여 웹 레이어를 분리하여 개발을 더 간단하게 만드는 경량 웹 프레임워크입니다.
 B. Spring과의 원활한 연결.
 C. 유연한 데이터 검증, 형식 지정 및 데이터 바인딩 메커니즘.

MyBatis 소개

MyBatis는 원래 Apache의 오픈 소스 프로젝트인 iBatis였습니다. 2010년에 이 프로젝트는 Apache Software Foundation에서 Google 코드로 마이그레이션되고 MyBatis로 이름이 변경되었습니다. MyBatis는 Java 기반 지속성 계층 프레임워크입니다. iBATIS가 제공하는 지속성 계층 프레임워크에는 SQL 맵과 데이터 액세스 개체(DAO)가 포함되어 있습니다. MyBatis는 거의 모든 JDBC 코드와 매개변수 수동 설정 및 결과 집합 검색을 제거합니다. MyBatis는 데이터베이스의 레코드에 대한 구성 및 원본 매핑, 인터페이스 및 Java POJO(Plain Old Java Objects, 일반 Java 개체) 매핑을 위해 간단한 XML 또는 주석을 사용합니다. MyBatis는 데이터 추가, 삭제, 수정 및 쿼리를 관리하는 데 사용되는 프레임워크라는 것을 이해할 수 있습니다.

장점:

a와 sql은 xml 파일로 작성되므로 통합 관리 및 최적화가 용이하고 sql과 프로그램 코드가 분리됩니다.

b. 매핑 태그 제공, 개체와 데이터베이스 ORM 필드 관계 간의 매핑 지원, 개체 관계 매핑 태그 지원, 개체 관계 설정 지원

c.

단점:

a. 특히 테이블에 필드와 관련 테이블이 많은 경우 작업량이 많습니다.

b.SQL 문 작성은 데이터베이스에 따라 다르며 이식성이 떨어집니다.

c. 계단식 삭제 및 업데이트는 지원되지 않습니다. 테이블을 직접 삭제해야 합니다.

통합 분석

A. spring MVC + spring + mybatis는 전체 시스템이 디스플레이 레이어, 컨트롤러 레이어, 서비스 레이어, DAO 레이어의 4개 레이어로 나누어져 있습니다.

Spring MVC를 사용합니다. 요청 처리 전달 및 보기 관리

spring은 비즈니스 객체 관리를 구현하고 mybatis는 데이터 객체의 지속성 엔진 역할을 합니다.

B. Spring은 오픈 소스 프레임워크입니다. Spring은 경량 IoC(제어 반전) 및 AOP(관점 지향) 컨테이너 프레임워크로, 다른 프레임워크와도 더 잘 통합할 수 있습니다.

C. Spring MVC 프레임워크에는 Model-View-Controller 패턴을 구현하여 데이터, 비즈니스 및 프레젠테이션을 잘 분리하는 MVC 프레임워크가 있습니다.

D.MyBatis는 Java 기반 지속성 계층 프레임워크입니다

확장 정보

ssm은 "소프트 시스템 방법론"을 참조할 수도 있습니다.

소프트 시스템 방법론(SSM, Soft Systems Methodology)은 시스템 사고를 활용하여 비시스템 문제를 해결하는 질적 연구 기술입니다. 주로 사회적, 정치적, 인적 요소가 많이 포함된 문제를 해결하는 데 사용됩니다. 분명히 SSM은 다양한 "어려운" 문제를 해결하기 위한 전문적인 기술적 수단을 특징으로 하는 방법과 매우 다릅니다.

SSM은 인간 사회의 실제 실천 활동에 시스템 사고를 적용하는 동시에 인간 사회 조직이 복잡한 시스템임을 인식합니다. 따라서 SSM은 복잡한 인간 사회를 탐구하고 사회가 직면한 다양하고 지저분한 '비기술적' 문제를 해결하는 데 매우 효과적인 방법이라고 할 수 있습니다.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !

위 내용은 SSM이 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

키보드의 볼륨 키가 작동하지 않습니다 키보드의 볼륨 키가 작동하지 않습니다 Aug 05, 2025 pm 01:54 PM

먼저, CheckifTefnKeysettingISTINGINTERINGITERINGBOTHOLMEKEYALONEANDFN VOLUMEKEY, thentogglefnlockwithfn escifavailable.2. enterbios/uefiduringbootandenablefunctekysordisordablehotkeymodetoensurevolumeysarerecognized.3.updateOrreeinstalliodriv

Edge PDF 뷰어가 작동하지 않습니다 Edge PDF 뷰어가 작동하지 않습니다 Aug 07, 2025 pm 04:36 PM

TestHepdFinanotherAppTodeMineifTheissueiswithTheFileoredge.2

VUE의 계산 된 특성 대 메소드 VUE의 계산 된 특성 대 메소드 Aug 05, 2025 am 05:21 AM

Computed에는 캐시가 있으며 의존성이 변경되지 않은 상태에서는 여러 개의 액세스가 재 계산되지 않으며, 방법이 호출 될 때마다 방법이 실행됩니다. 2. Computed는 반응 형 데이터를 기반으로 계산에 적합합니다. 메소드는 매개 변수가 필요하거나 호출이 자주 발생하는 시나리오에 적합하지만 결과는 응답 데이터에 의존하지 않습니다. 3. Computed Getters 및 Setters는 데이터의 양방향 동기화를 실현할 수 있지만 방법은 지원되지 않습니다. 4. 요약 : 먼저 컴퓨팅을 사용하여 성능을 향상시키고 매개 변수를 전달하거나 작업을 수행하거나 캐시를 피할 때 메소드를 사용하여 "컴퓨팅을 사용할 수 있다면 메소드를 사용하지 않습니다"라는 원칙에 따라 방법을 사용하십시오.

아파치 성능 조정 모범 사례 아파치 성능 조정 모범 사례 Aug 05, 2025 am 06:59 AM

useeventmpmforhigh-concurrencyworkloads, 특히, 특히 orpreforkonyifrequiredbynon-safemodules.2.enablekeepalivewithmaxkeepaliverequestssetto100andkeepalivetimeoutbetbeteanceNeconceNdreseAge

하위 프로세스를 실행하는 예제로 이동하십시오 하위 프로세스를 실행하는 예제로 이동하십시오 Aug 06, 2025 am 09:05 AM

OS/EXEC 패키지를 사용하여 하위 프로세스를 실행하고 Exec.Command를 통해 명령을 작성하되 즉시 실행하지 마십시오. 2. .output ()로 명령을 실행하고 stdout을 잡으십시오. 종료 코드가 0이 아닌 경우 exec.exiterror를 반환하십시오. 3. .start ()를 사용하여 차단하지 않고 프로세스를 시작하고 .stdoutpipe ()와 결합하여 출력을 실시간으로 스트리밍하십시오. . 5. exec.exiterror는 좀비 프로세스를 피하기 위해 실패한 명령의 종료 코드와 STDERR을 얻으려면 처리되어야합니다.

Python Path가 디렉토리 예인지 확인하십시오 Python Path가 디렉토리 예인지 확인하십시오 Aug 04, 2025 pm 02:12 PM

가장 일반적인 방법은 os.path.isdir () 또는 pathlib.path.is_dir ()를 사용하는 것입니다. 1. os.path.isdir () : importos, path = "/path/to/your/directory", ifos.path.isdir (path) : print ( "이것은 디렉토리입니다") else : "이것은 디렉토리 또는 경로가 존재하지 않는다"). 2. pathlib.path.is_dir () (권장) : fromPathLibimportp를 사용하십시오

자바에서 방법 과부하 및 메소드를 대체하는 방법을 설명 할 수 있습니까? 자바에서 방법 과부하 및 메소드를 대체하는 방법을 설명 할 수 있습니까? Aug 06, 2025 am 07:41 AM

방법 과부하 및 메소드 과부하는 Java에서 다형성을 구현하기위한 두 가지 메커니즘입니다. 1. 메소드 과부하는 같은 클래스에서 발생합니다. 컴파일 타임 다형성에 속하는 동일한 메소드 이름이지만 매개 변수 목록 (숫자, 유형 또는 순서)이 필요합니다. 리턴 유형은 다를 수 있지만 반환 유형만으로는 과부하 할 수 없습니다. 다른 액세스 수정 자 및 예외 선언이있을 수 있습니다. 2. 방법 재 작성은 상속 관계에서 발생합니다. 서브 클래스는 부모 클래스의 기존 메소드의 특정 구현을 제공합니다. 동일한 방법 서명이 필요하며 리턴 유형은 호환됩니다. 액세스 수정자는 더 엄격 할 수 없습니다. 그것은 런타임 다형성에 속합니다. 인스턴스 방법을 사용해야하며 @override 주석을 통해 올바른 다시 쓰기를 보장 할 수 있습니다. 두 사람은 함께 코드 가독성과 확장 성을 향상시킵니다.

복잡한 데이터 구조에 대한 중첩 Foreach 루프 최적화 복잡한 데이터 구조에 대한 중첩 Foreach 루프 최적화 Aug 06, 2025 pm 12:53 PM

중첩 된 Foreach 루프를 최적화하려면 먼저 중복 반복을 피해야하며 시간 복잡성을 O (n × M)에서 O (N M)로 감소시킬 수 있습니다. 둘째, 구조가 진정으로 계층 적이 아닌 경우 SelectMany와 같은 방법을 사용하여 데이터를 평평하게해야합니다. 셋째, 조건부 판단을 통해 미리 뛰어 다니거나 불필요한 처리를 건너 뛰십시오. 넷째, 검색 효율을 향상시키기 위해 사전 또는 해시 세트와 같은 적절한 데이터 구조를 선택하십시오. 다섯째, 작업이 독립적이고 시간이 많이 걸릴 때 평행을 사용하여 사용할 수 있습니다. 여섯째, 복잡한 논리를 독립적 인 방법 또는 쿼리로 추출하여 가독성과 유지 가능성을 향상시킵니다. 최적화의 핵심은 복잡성을 줄이고 데이터를 합리적으로 구성하며 항상 중첩의 필요성을 평가하고 궁극적으로 효율적이고 명확하며 확장 가능한 코드를 달성하는 것입니다.

See all articles