Spring Framework là gì? - Con đường phát triển hiệu quả



Blog này về Spring Framework là gì nói về Java Framework được sử dụng rộng rãi - Spring. Nó cũng cho biết lý do và cách sử dụng Spring Framework với các ví dụ.

Trong thế giới có nhịp độ nhanh ngày nay, chúng ta cần mọi thứ phải nhanh chóng. Chúng tôi không muốn tập trung vào một công việc quá lâu, chẳng hạn như đi du lịch, mua sắm, học tập hoặc làm việc. Khi nói đến mã hóa, chúng tôi muốn các ứng dụng của mình được phát triển trong thời gian ngắn nhất nhưng mang lại hiệu quả đầy đủ. Chúng tôi có thể vội vàng, nhưng chúng tôi không thể thỏa hiệp với chất lượng của mình và chúng tôi không muốn nỗ lực quá nhiều vào nó. Vậy giải pháp là gì? Các khung hoạt động tốt nhất trong tình huống này. Có nhiều Framework khác nhau có sẵn trên thị trường, trong đó một số ít được sử dụng như: Spring, Hibernate, Struts, v.v. Thông qua blog này, hãy cùng tìm hiểu Spring Framework là gì và tại sao nó lại phổ biến trên thị trường!

Trước khi bắt đầu, hãy xem các chủ đề tôi sẽ thảo luận trong blog này:





Khung Java

Tại sao chúng ta nên sử dụng Frameworks?Hãyhiểu nó với bạn của chúng tôi, Coddy .

Coddy có vấn đề - Spring Framework là gì - Edureka!



Coddy được giao nhiệm vụ phát triển một ứng dụng, nhưng thời gian được giao không đủ để hoàn thành nó. Anh ta phải tự viết rất nhiều dòng mã (LOC). Nó rất tốn thời gian và mệt mỏi. Anh ấy bối rối không biết mình nên làm gì! Anh ấy nên bắt đầu từ đâu!

Coddy bắt đầu nghĩ ra giải pháp cho vấn đề của mình. Anh ấy cần thứ gì đó nhanh chóng và hiệu quả, tiết kiệm thời gian và công sức, chẳng hạn như thứ gì đó làm sẵn.



sự khác biệt giữa javascript và jquery là gì

Đột nhiên, ý tưởng sử dụng Frameworks đến với anh ấy. Khung nhanh, hiệu quả và nhẹ. Chúng là những phần lớn mã được xác định trước mà chúng ta có thể dễ dàng thêm vào mã của riêng mình để giải quyết một vấn đề cụ thể.

Anh ấy viết mã bằng Framework. Đáng ngạc nhiên là mã dễ dàng phù hợp với khuôn khổ.

Coddy bây giờ, có thể viết mã nhanh hơn và hoàn thành ứng dụng của mình trong khung thời gian nhất định. Hơn nữa, anh ta không cần phải viết hàng nghìn dòng mã phi chức năng.

Sau khi triển khai ứng dụng được phát triển bằng Framework, ông nhận thấy rằng nó thực thi với tốc độ cao hơn nhiều và thông lượng của nó cũng tăng lên khi so sánh với các ứng dụng khác được phát triển mà không sử dụng Framework.

Vì vậy, bây giờ chúng ta hãy bắt đầu với Java Framework.

Làm thế nào để các khung công tác Java trở nên tồn tại?

Cuối năm 1990, các ứng dụng đã được phát triển rộng rãi bằng cách sử dụng các tiêu chuẩn JEE. Tiền đề của J2EE là đa nền tảng / đa nhà cung cấp, nếu bạn có thể viết mã theo tiêu chuẩn J2EE, bạn có thể triển khai ứng dụng của mình trên bất kỳ máy chủ ứng dụng J2EE nào bất kể nền tảng. Chạy mã của bạn trên bất kỳ máy chủ ứng dụng nào cung cấp cho bạn nhiều lợi ích như - quản lý giao dịch, nhắn tin, gửi thư, giao diện danh bạ, v.v. Nhưng không có gì dễ dàng trong thế giới này, làm việc với J2EE cũng gặp một số khó khăn.

  • RấtPhức tạp : Enterprise Java Bean được phát triển để giảm độ phức tạp trong các ứng dụng J2EE. Nhưng nó đã không thành công trong mục tiêu triển khai. Lý do đằng sau đó là, trong khi viết một thành phần, cần phải viết một tập hợp các tệp XML, giao diện home, giao diện từ xa / cục bộ, v.v.
  • Vấn đề 'tra cứu': Bất cứ khi nào một thành phần phụ thuộc vào một thành phần khác, nó phải tự tìm kiếm các thành phần mà nó phụ thuộc vào. Thành phần 'tra cứu' này chỉ xảy ra theo tên, vì vậy tên của phần phụ thuộc đã được mã hóa cứng trong thành phần.
  • Trọng lượng nặng: Như mộtSẽ hỗ trợ các tính năng như phân cụm, loại bỏ, v.v., bạn phải định cấu hình chúng, bất kể bạn có cần chúng hay không. Điều này sẽ làm cho các ứng dụng của bạn bị cồng kềnh.

Đây là cách Java Framework ra đời. Các khung công tác Java không là gì ngoài các phần lớn mã được xác định trước mà bạn có thể áp dụng cho mã của riêng mình để giải quyết vấn đề của bạn trong một miền cụ thể. Bạn có thể sử dụng một khuôn khổ bằng cách gọi các phương thức, sự kế thừa của nó, bằng cách cung cấp các 'lệnh gọi lại', trình nghe hoặc các triển khai khác của Người quan sát mẫu.

Hãy hiểu điều đó thông qua hình ảnh đại diện:

Nhưng chính xác thì chúng làm giảm công việc của chúng ta và làm cho mã của chúng ta hiệu quả như thế nào? Để hiểu nó, hãy xem qua phần sau lợi thếnhược điểmcủa các khuôn khổ này. Hãy bắt đầu với lợi thế .

Hiệu quả:

Các tác vụ thường khiến bạn mất hàng giờ và hàng trăm dòng mã để soạn, giờ đây có thể được thực hiện trong vài phút với các chức năng được tạo sẵn. Việc phát triển trở nên dễ dàng hơn rất nhiều, vì vậy, nếu nó dễ dàng hơn nhiều thì sẽ nhanh hơn nhiều và sau đó hiệu quả hơn.

Bảo vệ:

Một khuôn khổ được sử dụng rộng rãi thường sẽ cóBảo vệcác ứng dụng. Lợi ích lớn làkhu vực lân cậnđằng sau khuôn khổ đó, nơi người dùng thường trở thành người thử nghiệm lâu dài. Nếu bạn tìm thấy lỗ hổng bảo mật hoặc lỗ hổng bảo mật, bạn có thể truy cập trang web của khung và cho họ biết để có thể khắc phục.

Chi phí:

Hầu hết các cấu trúc phổ biến đều miễn phí và do đó nó giúp nhà phát triển viết mã nhanh hơn. Nếu mã hóa được thực hiện nhanh hơn, chi phí cho khách hàng cuối cùng chắc chắn sẽ nhỏ hơn về mọi mặt, có thể là thời gian hoặc nỗ lực. Hơn nữa chi phí bảo trì cũng thấp.

ném so với ném vs ném được trong java

Ủng hộ:

Như bất kỳ công cụ phân tán nào khác, một khuôn khổ thường bao gồm các tài liệu, một nhóm hỗ trợ hoặc các diễn đàn trực tuyến cộng đồng lớn, nơi bạn có thể nhận được phản hồi nhanh chóng.

Mặc dù có tất cả những ưu điểm này, Java Framework có một số nhược điểm , giống:


Những hạn chế:

Không thể thay đổi hành vi cơ bản của khuôn khổ, cho thấy rằng khi bạn sử dụng một khuôn khổ, bạn bắt buộc phải tôn trọng các giới hạn của nó và hoạt động theo cách mà nó được yêu cầu. Vì vậy, bạn phải đảm bảo rằng bạn chọn một khuôn khổ phù hợp với nhu cầu của bạn.

Mã công khai:

Vì khuôn khổ có sẵn cho mọi người, tôit cũng được cung cấp cho những người có ý định xấu. Nó có thể được nghiên cứu để biết mọi thứ hoạt động như thế nào và phát hiện ra những sai sót có thể được sử dụng để chống lại bạn.

Tập quán Đặc trưng:

Khi bạn đang sử dụng một khuôn khổ, bạn biết rất ít về ngôn ngữ đằng sau nó vì các tính năng trong đó được xây dựng tùy chỉnh.Khi bạn sử dụng các tính năng được xây dựng tùy chỉnh, rất có thể bạn phải sử dụng chúng theo các tiêu chuẩn của khung, vốn có thể khác với khái niệm ban đầu.

Hiện naycái đóbạn biết những lợi thế và bất lợitrong số các khuôn khổ,chọn khuôn khổ của bạn theo nhu cầu của bạn. Có nhiều loại khuôn khổ khác nhau có sẵn trên thị trường. Sơ đồ dưới đây cho thấy một vài trong số chúng:

Vì vậy, trong blog này, chúng tôi sẽ tập trung vào Spring Framework.

Spring Framework là gì?

Ở đây câu hỏi đặt ra “Spring Framework là gì”?

Spring Framework là một khung phát triển ứng dụng nhẹ mạnh mẽ được sử dụng cho Enterprise Java (JEE).

Các tính năng cốt lõi của Spring Framework có thể được sử dụng để phát triển bất kỳ ứng dụng Java nào.Nó có thể được mô tả làkhung hoàn chỉnh và mô-đun. Spring Framework có thể được sử dụng cho tất cả các triển khai lớp của một ứng dụng thời gian thực. Nó cũng có thể được sử dụng để phát triển lớp cụ thể của ứng dụng thời gian thực không giống như Struts và Hibernate, nhưng với Spring, chúng ta có thể phát triển tất cả các lớp.

Đây là về Spring Framework là gì, nhưng nó được phát triển như thế nào? Chà, có một lịch sử thú vị đằng sau nó. Hãy xem qua lịch sử và nguồn gốc của Spring Framework.

Vào tháng 10 năm 2002, Rod Johnson , một chuyên gia máy tính người Úc, đã viết một cuốn sách với tựa đề Expert One-on-One J2EE Design and Development. Trong cuốn sách này, ông đã đề xuất một giải pháp đơn giản hơn dựa trên các lớp Java thông thường (POJO) và chèn phụ thuộc. Ông đã viết hơn 30.000 dòng mã cơ sở hạ tầng bao gồm một số giao diện và lớp java có thể tái sử dụng để phát triển ứng dụng. Khoảng tháng 2 năm 2003, Rod, Juergen và Yann bắt đầu hợp tác trong dự án Spring. Tên 'Spring' được đặt ra vì nó có nghĩa là một khởi đầu mới sau 'Winter' của J2EE truyền thống.

Sau đây là dòng thời gian được hiển thị về các bản phát hành chính trong lịch sử của Mùa xuân:

Nó được đặt tên là Giao diện 21, như một tham chiếu đến thế kỷ 21 và được phát hành theo giấy phép Apache 2.0.
Đây là bản phát hành quan trọng đầu tiên. Khung mùa xuân phát triển nhanh chóng kể từ bản phát hành này. Interface21 hỗ trợ AspectJ song song với Spring Framework.
Các tính năng mới đã được thêm vào - cấu hình XML có thể mở rộng, hỗ trợ Java 5 và các ngôn ngữ động, các điểm mở rộng IoC và các cải tiến AOP.
Các tính năng mới đã được thêm vào - hỗ trợ cho Java 6 / JEE5, cấu hình chú thích, tự động phát hiện thành phần trong các gói tuân thủ classpath và OSGi.
Các tính năng mới đã được thêm vào - hỗ trợ cho hệ thống mô-đun được tổ chức lại, SpEL, JavaConfig, cơ sở dữ liệu nhúng, hỗ trợ REST và hỗ trợ cho Java EE 6.
Dự án Spring Data Commons đã được phát hành. Sau đó vào năm 2012, Rod Johnson rời đội Mùa xuân.
Tất cả các dự án Spring đều chuyển sang Pivotal. Các tính năng mới đã được thêm vào - hỗ trợ đầy đủ cho Java 8, websockets, phụ thuộc thư viện bên thứ ba cao hơn, DSL linh hoạt cho các định nghĩa bean.
Nó tương thích với Java 6, 7 và 8, tập trung vào các cải tiến cốt lõi và khả năng web hiện đại.
Nó sẽ là thế hệ cuối cùngtrong các yêu cầu chung của hệ thống Spring 4. 4.3.8 là phiên bản hiện tại.

Tại sao Spring Framework?

Dưới đây là một biểu đồ cho thấy sự so sánh giữa Spring và các Framework khác.

Dưới đây là biểu đồ dựa trên một cuộc khảo sát,kể từ tháng 5 năm 2016. Như bạn có thể thấy từ biểu đồ rằng Spring Framework rất phổ biến trong miền của nó và đã tiếp tục giữ vị trí của mình trên tkể từ năm 2014.

Lý do cho Khung mùa xuânsự phổ biến của công trình

Nhìn chung, có ba lý do chính cho sự phổ biến của Spring Framework.

  1. Sự đơn giản
  2. Kiểm tra
  3. Khớp nối lỏng lẻo

Hãy thảo luận chi tiết về những chủ đề này.

Sự đơn giản: Spring Framework đơn giản vì nó không xâm lấn vì nó sử dụng các mô hình POJO và POJI.

  • POJO (Đối tượng Java cũ thuần túy): ALớp Java không kết hợp với bất kỳ công nghệ hoặc bất kỳ khuôn khổ nào được gọi là ' POJO ' .
  • POJI (Giao diện Java cũ thuần túy): Giao diện Java không kết hợp với bất kỳ công nghệ nào hoặc bất kỳ công việc khung nào được gọi là ' POJI ' .

Kiểm tra : Để viết Scây treứng dụng, máy chủ là không bắt buộc. Nhưng đối với các ứng dụng thanh chống và EJB, bạn cần một máy chủ, nếu bạn muốn kiểm tra ứng dụng. Nó có thể cần nhiều thay đổi trong nguồn và để xem những thay đổi đó, mỗi lần bạn phải khởi động lại máy chủ. Điều này trở nên tẻ nhạt và tốn thời gian. Trong trường hợpSpring Framework, nó có vùng chứa riêng để chạy ứng dụngcation.

Khớp nối lỏng lẻo: Spring Framework được kết hợp lỏng lẻo vì nó có các khái niệm như Dependency Injection, AOP, v.v. Các tính năng này giúp giảm sự phụ thuộc và tăng tính mô-đun trong mã. Hãy hiểu điều này với một ví dụ.

thử nghiệm trình duyệt chéo trong selen

Ở đây tôi có một giao diện Bike có phương thức start (). Nó được thực hiện thêm bởi ba lớp, đó là: Yamaha, Honda và Bajaj.

giao diện công cộng Bike {public void start ()}

Ở đây, một Class Rider tạo ra một đối tượng của bất kỳ lớp nào thực thi giao diện Bike.

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

Bây giờ vùng chứa Spring Framework có thể chèn một đối tượng của bất kỳ lớp nào triển khai giao diện Bike, theo yêu cầu. Đây là cách hoạt động của khớp nối lỏng lẻo.

Kiến trúc khung mùa xuân

Như bạn có thể thấy từ sơ đồ trên, Spring có kiến ​​trúc phân lớp bao gồm các mô-đun khác nhau có chức năng riêng. Các mô-đun này được khái quát thành các lớp sau:

  • Thùng chứa lõi
  • Tích hợp / Truy cập Dữ liệu
  • Web
  • AOP (Lập trình hướng theo khía cạnh)
  • Thiết bị đo đạc
  • Kiểm tra.

Bạn có thể tự hỏi, lợi thế của Spring Framework khi có kiến ​​trúc phân lớp là gì? Hãy cùng tìm hiểu qua các điểm sau:

  • Spring Framework tổ chức hiệu quả các đối tượng tầng giữa của bạn.
  • Không phân biệt môi trường thời gian chạy, các dịch vụ quản lý cấu hình của Spring Framework có thể được sử dụng trong bất kỳ lớp kiến ​​trúc nào.
  • Spring Framework xử lý cấu hình một cách nhất quán trong toàn bộ ứng dụng. Điều này giúp loại bỏ nhu cầu sử dụng nhiều định dạng tệp thuộc tính tùy chỉnh.
  • Spring Framework được thiết kế theo cách mà các ứng dụng được xây dựng với nó sẽ phụ thuộc vào càng ít API của nó càng tốt.
  • Vì việc sử dụng các giao diện,Spring Framework tạo điều kiện cho việc thực hành lập trình tốt.

Để hoàn toàn hiểu Spring Framework là gì, hãy xem một ứng dụng Spring Framework đơn giản. Làm theo năm bước đơn giản:

Bước I: Tạo lớp 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 ('Xin chào: '+ tên)}}

Bước II: Tạo tệp XML

 

Bước III: Tạo lớp chính

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 ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Bước IV: Tải các tệp jar

Tải các tệp jar sau.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • Spring-bean-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

GHI CHÚ: Trong trường hợp bạn cần các tệp jar, hãy bình luận bên dưới.

Bước V: Chạy chương trình

Chạy chương trình trên máy chủ của bạn để kiểm tra ứng dụng.

Hy vọng tôi đã có thể giải thích rõ ràng, Spring Framework là gì, nó hoạt động chính xác như thế nào và nó được sử dụng để làm gì. Bạn cũng tham khảo video về 'Spring Framework là gì', nơi người hướng dẫn mô tả các chủ đề được thảo luận trong blog này cùng với phần trình diễn thực tế.

Spring Framework trong Java là gì | Hướng dẫn sử dụng Spring Framework | Edureka

Nếu bạn quan tâm đến việc tìm hiểu thêm về Spring Framework, hãy theo dõi loạt blog này của tôi vì tôi sẽ có một blog khác trên sẽ nói về các khái niệm nâng cao hơn trong Spring.

Nếu bạn muốn học Spring và muốn sử dụng nó trong khi phát triển các ứng dụng Java, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.