스프링 프레임 워크 란? – 효율적인 개발 경로



Is Spring Framework가 널리 사용되는 Java Framework 인 Spring에 대해 말하는이 블로그입니다. 또한 예제와 함께 Spring Framework를 사용하는 이유와 방법을 알려줍니다.

오늘날과 같이 빠르게 변화하는 세상에서 우리는 모든 것이 빨라야합니다. 우리는 하나의 일에 너무 오랫동안 몰두하고 싶지 않으며 여행, 쇼핑, 공부 또는 일과 같은 일로두기를 원합니다. 코딩과 관련하여 우리는 애플리케이션을 최단 시간에 개발하면서 완전한 효율성을 제공하기를 원합니다. 우리는 서두를 수 있지만 여전히 우리의 품질에 타협하거나 너무 많은 노력을 기울일 수 없습니다. 그렇다면 해결책은 무엇입니까? 프레임 워크는이 상황에서 가장 잘 작동합니다. 시장에는 Spring, Hibernate, Struts 등과 같이 거의 사용되지 않는 다양한 프레임 워크가 있습니다.이 블로그를 통해 Spring Framework가 무엇이고 왜 시장에서 그렇게 인기가 있는지 알아 봅시다!

시작하기 전에이 블로그에서 논의 할 주제를 살펴 보겠습니다.





자바 프레임 워크

프레임 워크를 선택해야하는 이유는 무엇입니까?하자우리 친구와 함께 이해하고 코디 .

Coddy in problem-What Is Spring Framework-Edureka!



코디 응용 프로그램을 개발하는 작업이 주어졌지만 지정된 시간이 충분하지 않습니다. 그는 혼자서 많은 코드 라인 (LOC)을 작성해야합니다. 시간이 많이 걸리고 피곤합니다. 그는 무엇을해야하는지 혼란 스럽습니다! 그가 어디에서 시작해야하는지!

코디 그의 문제에 대한 해결책을 생각하기 시작합니다. 그는 기성품과 같이 빠르고 효율적인 것이 필요합니다.



갑자기 프레임 워크를 사용한다는 생각이 그를 떠 올립니다. 프레임 워크는 빠르고 효율적이며 가볍습니다. 특정 문제를 해결하기 위해 자체 코드에 쉽게 추가 할 수있는 미리 정의 된 코드의 큰 본문입니다.

자바에서 소켓을 사용하는 방법

그는 프레임 워크를 사용하여 코딩합니다. 놀랍게도 코드는 프레임 워크에 쉽게 맞습니다.

코디 이제 주어진 시간 내에 더 빠르게 코딩하고 신청서를 완성 할 수 있습니다. 게다가 그는 수천 줄의 비 기능적 코드를 작성할 필요가 없습니다.

프레임 워크를 사용하여 개발 된 애플리케이션을 배포 한 후 그는 프레임 워크를 사용하지 않고 개발 된 다른 애플리케이션에 비해 훨씬 더 빠른 속도로 실행되고 처리량이 증가한다는 사실을 발견했습니다.

이제 Java 프레임 워크부터 시작하겠습니다.

Java 프레임 워크가 어떻게 존재하게 되었습니까?

1990 년대 후반에 JEE 표준을 사용하여 응용 프로그램이 광범위하게 개발되었습니다. J2EE의 전제는 다중 플랫폼 / 다중 공급 업체였습니다. J2EE 표준에 따라 코딩 할 수 있다면 플랫폼에 관계없이 모든 J2EE 애플리케이션 서버에 애플리케이션을 배포 할 수 있습니다. 애플리케이션 서버에서 코드를 실행하면 트랜잭션 관리, 메시징, 메일 링, 디렉토리 인터페이스 등과 같은 많은 이점을 얻을 수 있습니다.하지만이 세상에서 쉬운 일은 없기 때문에 J2EE로 작업하는 것도 몇 가지 어려움이있었습니다.

  • 대단히복잡한 : Enterprise Java Bean은 J2EE 애플리케이션의 복잡성을 줄이기 위해 개발되었습니다. 그러나 구현 목표에는 성공하지 못했습니다. 그 이유는 컴포넌트를 작성하는 동안 일련의 XML 파일, 홈 인터페이스, 원격 / 로컬 인터페이스 등을 작성해야하기 때문입니다.
  • '조회'문제 : 구성 요소가 다른 구성 요소에 의존 할 때마다 자체적으로 의존하는 구성 요소를 찾아야했습니다. 이 구성 요소 '조회'는 이름으로 만 발생하므로 종속성 이름이 구성 요소에 하드 코딩되었습니다.
  • 무거운 무게 :클러스터링, 원격 기능 등과 같은 기능이 지원되었으므로 필요 여부에 관계없이 구성해야합니다. 이것은 당신의 응용 프로그램을 부풀게 만들 것입니다.

이것이 자바 프레임 워크가 탄생 한 방법입니다. Java 프레임 워크는 특정 도메인의 문제를 해결하기 위해 자체 코드에 적용 할 수있는 미리 정의 된 코드의 큰 본문 일뿐입니다. '콜백', 리스너 또는 기타 구현을 제공하여 해당 메소드, 상속을 호출하여 프레임 워크를 사용할 수 있습니다. 관찰자 무늬.

그림 표현을 통해 이해합시다.

하지만 정확히 어떻게 우리의 작업을 줄이고 코드를 효율적으로 만들까요? 그것을 이해하려면 다음을 수행하십시오. 장점단점이러한 프레임 워크의. 시작하겠습니다. 장점 .

능률:

일반적으로 작성하는 데 몇 시간과 수백 줄의 코드가 걸리는 작업을 이제 미리 빌드 된 함수를 사용하여 몇 분 안에 완료 할 수 있습니다. 개발이 훨씬 쉬워 지므로 개발이 훨씬 쉬워지면 훨씬 빠르고 효과적입니다.

보안:

광범위하게 사용되는 프레임 워크는 일반적으로보안응용 프로그램. 큰 이점은이웃사용자가 일반적으로 오래 지속되는 테스터가되는 프레임 워크 뒤에 있습니다. 취약점이나 보안 허점을 발견 한 경우 프레임 워크의 웹 사이트로 이동하여이를 수정할 수 있도록 알릴 수 있습니다.

비용:

가장 많이 사용되는 구조는 무료이므로 개발자가 더 빠르게 코딩 할 수 있습니다. 코딩이 더 빨리 이루어지면 최종 클라이언트의 비용은 시간이든 노력이든 모든 측면에서 확실히 더 적을 것입니다. 또한 유지 보수 비용도 낮습니다.

지원하다:

다른 분산 도구와 마찬가지로 프레임 워크에는 일반적으로 빠른 응답을 얻을 수있는 문서, 지원 그룹 또는 대규모 커뮤니티 온라인 포럼이 포함됩니다.

이러한 모든 장점이 있음에도 불구하고 Java 프레임 워크에는 단점 , 처럼:


제한 사항 :

프레임 워크의 기본 동작은 변경할 수 없습니다. 이는 프레임 워크를 사용할 때 제한 사항을 존중하고 필요한 방식으로 작업해야 함을 나타냅니다. 따라서 필요에 맞는 프레임 워크를 선택해야합니다.

코드는 공개입니다.

프레임 워크는 누구나 쉽게 사용할 수 있으므로t는 또한 나쁜 의도를 가진 사람들에게 제공됩니다. 일이 어떻게 작동하는지 알고 당신에게 불리하게 사용될 수있는 결함을 발견하기 위해 연구 될 수 있습니다.

커스텀 풍모:

프레임 워크를 사용하는 경우 프레임 워크의 기능이 사용자 정의되어 있기 때문에 그 뒤에있는 언어에 대해 거의 알지 못합니다.사용자 지정 기능을 사용하는 경우 원래 개념과 다를 수있는 프레임 워크의 표준에 따라 사용해야 할 가능성이 큽니다.

지금당신은 장점과 단점을 알고프레임 워크의필요에 따라 프레임 워크를 선택하십시오. 시장에는 다양한 종류의 프레임 워크가 있습니다. 아래 다이어그램은 그중 몇 가지를 보여줍니다.

따라서이 블로그에서는 Spring Framework에 초점을 맞출 것입니다.

스프링 프레임 워크 란?

여기서 '스프링 프레임 워크 란 무엇인가'라는 질문이 생깁니다.

Spring Framework는 JEE (Enterprise Java)에 사용되는 강력한 경량 애플리케이션 개발 프레임 워크입니다.

Spring Framework의 핵심 기능은 모든 Java 애플리케이션 개발에 사용할 수 있습니다.다음과 같이 설명 할 수 있습니다.완전하고 모듈화 된 프레임 워크. Spring Framework는 실시간 애플리케이션의 모든 계층 구현에 사용할 수 있습니다. Struts 및 Hibernate와는 달리 실시간 응용 프로그램의 특정 계층 개발에도 사용할 수 있지만 Spring을 사용하면 모든 계층을 개발할 수 있습니다.

소금 대 요리사 대 꼭두각시

이것은 Spring Framework가 무엇인지에 대한 것이었지만 어떻게 개발 되었습니까? 음, 그 뒤에 흥미로운 역사가 있습니다. Spring Framework의 역사와 기원을 한 눈에 볼 수 있습니다.

2002 년 10 월 로드 존슨 호주의 컴퓨터 전문가 인는 Expert One-on-One J2EE Design and Development라는 책을 썼습니다. 이 책에서 그는 일반적인 Java 클래스 (POJO)와 의존성 주입을 기반으로 한 더 간단한 솔루션을 제안했습니다. 그는 애플리케이션 개발을위한 재사용 가능한 Java 인터페이스와 클래스를 포함한 30,000 줄 이상의 인프라 코드를 작성했습니다. 2003 년 2 월경 Rod, Juergen 및 Yann은 Spring 프로젝트에서 공동 작업을 시작했습니다. “Spring”이라는 이름은 전통적인 J2EE의“Winter”이후 새로운 시작을 의미하기 때문에 주어졌습니다.

다음은 Spring 역사의 주요 릴리스에 대해 표시된 타임 라인입니다.

21 세기에 대한 언급으로 Interface 21로 명명되었으며 Apache 2.0 라이선스로 출시되었습니다.
이것은 첫 번째 마일스톤 릴리스였습니다. Spring 프레임 워크는이 릴리스 이후 빠르게 발전했습니다. Interface21은 Spring Framework와 병렬로 AspectJ를 지원했습니다.
확장 가능한 XML 구성, Java 5 및 동적 언어 지원, IoC 확장 점 및 AOP 향상 등 새로운 기능이 추가되었습니다.
새로운 기능이 추가되었습니다. Java 6 / JEE5, 주석 구성, 클래스 경로의 구성 요소 자동 감지 및 OSGi 호환 번들에 대한 지원이 추가되었습니다.
새로운 기능이 추가되었습니다 – 재구성 된 모듈 시스템, SpEL, JavaConfig, 임베디드 데이터베이스, REST 지원 및 Java EE 6 지원.
SpringData Commons Project가 출시되었습니다. 2012 년 말 Rod Johnson은 Spring 팀을 떠났습니다.
모든 Spring 프로젝트는 Pivotal로 이동했습니다. 새로운 기능이 추가되었습니다. Java 8, 웹 소켓, 더 높은 타사 라이브러리 종속성, 빈 정의를위한 그루비 DSL을 완벽하게 지원합니다.
핵심 개선 및 최신 웹 기능에 중점을 둔 Java 6, 7 및 8과 호환되었습니다.
마지막 세대가 될 것입니다일반적인 Spring 4 시스템 요구 사항 내에서. 4.3.8이 현재 버전입니다.

왜 Spring Framework인가?

아래는 Spring과 다른 다양한 프레임 워크를 비교 한 차트입니다.

아래는 설문 조사를 기반으로 한 그래프입니다.2016 년 5 월 현재. 그래프에서 볼 수 있듯이 Spring Framework는 해당 도메인에서 매우 인기가 있으며 t에서 계속 그 위치를 유지하고 있습니다.2014 년부터.

스프링 프레임의 이유작품의 인기

일반적으로 Spring Framework의 인기에는 세 가지 주요 이유가 있습니다.

  1. 간단
  2. 증거
  3. 느슨한 결합

이 주제에 대해 자세히 논의하겠습니다.

간단: Spring Framework는 POJO 및 POJI 모델을 사용하므로 비 침습적이므로 간단합니다.

  • POJO (Plain Old Java Objects) : A기술이나 프레임 워크와 결합되지 않은 Java 클래스가 호출됩니다. ' POJO ' .
  • POJI (Plain Old Java Interfaces) : 기술이나 프레임 작업과 결합되지 않은 Java 인터페이스가 호출됩니다. ' POJI ' .

증거 : S 쓰기대나무응용 프로그램, 서버는 필수가 아닙니다. 그러나 Struts 및 EJB 애플리케이션의 경우 애플리케이션을 테스트하려면 서버가 필요합니다. 서버를 다시 시작해야 할 때마다 소스를 많이 변경하고 이러한 변경 사항을 확인해야 할 수 있습니다. 이것은 지루하고 시간이 많이 걸립니다. 의 경우Spring Framework에는 애플리케이션을 실행하기위한 자체 컨테이너가 있습니다.양이온.

느슨한 결합 : Spring Framework는 Dependency Injection, AOP 등과 같은 개념을 가지고 있기 때문에 느슨하게 결합되어 있습니다. 이러한 기능은 종속성을 줄이고 코드 내에서 모듈성을 높이는 데 도움이됩니다. 예를 들어 이것을 이해합시다.

여기에 start () 메서드가있는 Bike 인터페이스가 있습니다. Yamaha, Honda 및 Bajaj의 세 가지 클래스로 추가로 구현됩니다.

공용 인터페이스 자전거 {public void start ()}

여기서 Rider 클래스는 Bike 인터페이스를 구현하는 모든 클래스의 객체를 만듭니다.

class Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

이제 Spring Framework 컨테이너는 요구 사항에 따라 Bike 인터페이스를 구현하는 모든 클래스의 개체를 주입 할 수 있습니다. 이것이 느슨한 결합이 작동하는 방식입니다.

스프링 프레임 워크 아키텍처

위의 다이어그램에서 볼 수 있듯이 Spring은 자체 기능을 가진 여러 모듈로 구성된 계층 구조를 가지고 있습니다. 이러한 모듈은 다음 계층으로 일반화됩니다.

  • 핵심 컨테이너
  • 데이터 액세스 / 통합
  • 편물
  • AOP (Aspect Oriented Programming)
  • 수단
  • 테스트.

계층화 된 아키텍처를 갖는 Spring Framework의 장점은 무엇입니까? 다음 사항을 살펴 보겠습니다.

  • Spring Framework는 중간 계층 객체를 효과적으로 구성합니다.
  • 런타임 환경에 관계없이 Spring Framework의 구성 관리 서비스는 모든 아키텍처 계층에서 사용할 수 있습니다.
  • Spring Framework는 애플리케이션 전체에서 일관된 방식으로 구성을 처리합니다. 따라서 다양한 사용자 지정 속성 파일 형식을 사용할 필요가 없습니다.
  • Spring Framework는이를 사용하여 빌드 된 애플리케이션이 가능한 한 적은 수의 API에 의존하도록 설계되었습니다.
  • 인터페이스 사용으로 인해,Spring Framework는 좋은 프로그래밍 연습을 용이하게합니다.

Spring Framework가 무엇인지 완전히 이해하기 위해 하나의 간단한 Spring Framework 애플리케이션을 살펴 보겠습니다. 5 가지 간단한 단계를 따르십시오.

1 단계 : Bean 클래스 생성

package org.edureka.firstSpring public class StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ( 'Hello : '+ 이름)}}

2 단계 : XML 파일 만들기

 

3 단계 : 기본 클래스 만들기

package org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplicationContext ( 'StudentConfig.xml' ) StudentBean factory = (StudentBean) appCon.getBean ( 'studentbean') factory.displayInfo ()}}

4 단계 : jar 파일로드

다음 jar 파일을로드하십시오.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • spring-beans-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

노트: jar 파일이 필요한 경우 아래에 주석을 달아주세요.

단계 V : 프로그램 실행

서버에서 프로그램을 실행하여 애플리케이션을 테스트하십시오.

Spring Framework가 무엇인지, 정확히 어떻게 작동하며 용도가 무엇인지 명확하게 설명 할 수 있기를 바랍니다. 또한 강사가 실제 데모와 함께이 블로그에서 논의 된 주제를 설명하는 'What Is Spring Framework'에 대한 비디오를 참조하십시오.

자바에서 스프링 프레임 워크 란? Spring Framework 튜토리얼 | Edureka

Spring Framework에 대해 더 많이 배우고 싶다면,이 블로그 시리즈를 계속 지켜봐주십시오. Spring의 고급 개념에 대해 설명합니다.

Spring을 배우고 Java 애플리케이션을 개발하는 동안 사용하려면 다음을 확인하십시오. 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다.

질문이 있으십니까? 의견란에 언급 해 주시면 연락 드리겠습니다.