ฉันเขียนแอปพลิเคชัน Java ขององค์กรและบริการเว็บในที่ทำงาน ( Spring , Hibernate, Maven, RESTEasy) และ PHP (CakePHP) และ Python (Django) สำหรับโปรเจคด้านข้างของฉัน
ในขณะที่ฉันเห็นคุณค่าของ Inversion of Control, Aspect Oriented Programming และอื่น ๆ ที่ Spring นำเข้ามาฉันไม่แน่ใจว่าเว็บแอปพลิเคชั่นขนาดใหญ่ที่ไม่ได้อยู่ในจาวาสแต็กจัดการโดยไม่มีกรอบเช่น Spring
ดังนั้นนักพัฒนาจะต้อง "ทนกับ" ส่วนประกอบที่แน่นหนาและความคับข้องใจอื่น ๆ ที่ Spring กำจัดหรือฉันขาดอะไรไปหรือเปล่า?
สำหรับผู้ที่ไม่คุ้นเคยกับ Spring คุณลักษณะที่เราใช้บ่อยที่สุดคือ:
Inversion of Control container: การกำหนดค่าของส่วนประกอบแอพพลิเคชั่นและการจัดการวงจรชีวิตของวัตถุ Java,
การเขียนโปรแกรมเชิงมุมมอง: ช่วยให้การใช้งานของกิจวัตรตัดข้าม
การจัดการธุรกรรม: รวบรวม API การจัดการธุรกรรมหลายรายการและประสานธุรกรรมสำหรับวัตถุ Java