2015-04-06 51 views
83

Büyük bir şirket (web) projesi için Spring MVC veya Spring-Boot'u kullanmanızı tavsiye ediyor musunuz?Spring MVC veya Yaylı Boot

Yay Önyükleme, yapılandırma bakımından Spring MVC kıyasla çok kolaydır.

Spring-Boot Bahar MVC aynı avantajlara sahip olabilir kullanmak acaba?

Ne tavsiye edersiniz?

+24

seçim değildir bahsediyoruz ediyorum * * MVC ile Çizme arasında Boot [MVC kullanmak (ve bunu otomatik yapılandırır) olabilir] (http çünkü: //docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc). "Önyükleme veya Önyükleme Yok" mu demek istiyorsun? o zaman şirketinizin ne kadar yeniliklere (ve ilişkili risklere) açık olduğuna bağlıdır.Her iki durumda da, [öneri * sorma * konu dışı] (http://stackoverflow.com/help/dont-ask) burada. – kryger

+0

Cevabınız için teşekkür ederiz. İlkbaharın önyüklemesinin mvc yayına getirilebileceğini anladım. Fakat Spring-Boot veya Spring MVC'nin her ikisinin de aynı özelliklere sahip olup olmadığına dair kafam karıştı (Spring boot kurulumu kolay). Kullandığınız deneyimden mi? – Diego

+1

Yay önyükleme Bir uygulamayı yapılandırmak için vaktinizi koruyun, varsayılan fasulye var ve bağımlılıkları da yönetin. Ancak, ilkbahar-önyükleme ve yay mvc farklı hedeflere sahip. Spring-mvc ile yay önyüklemesini kullanmak isterseniz, özel yapılandırmayı geçersiz kılmak istemediğiniz sürece herhangi bir ayar yapmanıza gerek yoktur. –

cevap

74

Benim kişisel tavsiyem kesinlikle birçok nedenden dolayı Bahar Önyükleme kullanmaktır.

  1. Birincisi, Önyüklemenin "İlkbaharın geleceği" olmasıdır. Yani, Boot ile Spring topluluğunun birçok taahhüdünden yararlanabilirsiniz. Bugün tamamen Bahar projelerinin çoğu Boot ile entegre, hatta topluluk Boot dayalı birçok uygulamaları geliştirmeye başlar. Örneğin yönetmek ve izlemek için. Ben çok faydalıdır üretim hazır özelliklerle başvurunuzu iyileştirdiğini, bu tür aktüatör ve yönetilmesi ve izlenmesi için uzaktan kabuk olarak çok güzel ve kullanışlı özelliklerinden faydalanabilir Bahar çizme Spring Boot Admin

  2. görmek için önerebilirsiniz .

  3. Çok güzel ve güçlü özellikleri ve konfigürasyon kontrolleri - Eğer application.properties/yml ile uygulamayı yapılandırmak ve geçersiz kılma açısından, çok basit ve etkileyici bir şekilde bile yönetimini çizme uzatabilirsiniz çok güçlüdür.

  4. Bu, ilk mikro-servis hazır platformlardan biridir ve benim düşünceme göre bugünlerde en iyisi!Bir mikro hizmet projesini önyükleme ile oluşturmasanız bile, 'un yukarıda anlattığım tüm özellikleri kullanabileceğimiz otomatik olarak uyumlu bir kavanoza sahip olduğunuz modern bir yaklaşımdan faydalanabilirsiniz. Ambalajı klasik bir savaş olarak dayatabilir ve savaşınızı istediğiniz herhangi bir kapta paketine dağıtabilirsiniz. önemli ölçüde projenin başlangıç ​​ve yapılandırma aşaması azalttığını yapılandırma yaklaşımı üzerinde akıllı ve kongre

  5. kullanın. Aslında bağımlılık yönetimini basitleştiren bir başlangıç ​​Maven veya Gradle bağımlılıkları var. Sonra otomatik konfigürasyon özelliği ile size kongre ile göre Sadece kendi fasulye tanımlayan özel yapılandırmaları ile geçersiz kılabilirsiniz Bahar 4'te Şartlı Yapılandırma çerçevesi ile verilmekte standart konfigürasyonlarda, bir çok yararlanabilir Önyükleme bağımlılığının otomatik yapılandırma JAR'ında görebilirsiniz. Baharın açık kaynak olduğunu ve kodu görebileceğinizi unutmayın. Ayrıca bendeki belgeler iyi.

  6. Yaylı başlatıcı, bu bağlantıda elde edilebilen güzel bir araçtır: https://start.spring.io/, projenizi çok hızlı bir şekilde oluşturmak için çok güzel bir araçtır.


Bu yansıma en iyi çözüm olduğuna karar yardımcı umuyoruz.

+1

Cevabınız için teşekkür ederiz. Burada biraz kafa karışıklığım var. "Persistence.xml" yapılandırma dosyasını ve diğer birçok özelliği kullanmam gerekmediğinden, Spring 4'ü projemde kullanmak istiyorum. İlkbahar 4'te ilkbaharın özelliklerini kullanabilir miyim? Eğer evet – viper

+2

nasıl yapmalıyım Eğer güzel vanilya şeyler yapmayı planlıyorsanız kabul ediyorum. Önyüklemeye gitmeye çalıştığım zamanlar baş ağrısına neden oluyor ve ekrana bağırıyor, çünkü önyükleme, sahip olduğum bağımlılıklar konusunda çok akıllı olmaya çalışıyor ve işleri dönüştürmek için daha fazla şey yapmak zorunda kalıyor. botsuz bir proje kullanıyor. Kabuslara son veren birkaç şey, bir db önbelleğinin gerekli olduğu veya birden fazla DataSource'un yapılandırılmasının, bilmeden JdbcTemplate ve hazırda bekletme örneklerini oluşturmaya ve hatta h3 veritabanını kendi başına başlatmaya çalışan önyüklemeye sahip olduğu LDAP ile çalışmaya çalışıyor. –

+1

Mülk yapılandırması, nasıl kontrol edileceğimi bilmediğim bir şey. Önyükleyici olmayan projelerde, uygulama özellikleri dosyamda JSP ve SpEL'de kullanabileceğim özellikleri okumak için aşırı yüklü desteğe sahip bir AppConfig sınıfı yaratacağım ancak önyükleme ile aynı işlemi nasıl yapamayacağımı anlayamıyorum. –

9

İlkbahar MVC'yi yay önyüklemeli olarak kullanabilirsiniz, çünkü Kryger aralarında münhasır değildir ve yapılandırma daha kolay olacaktır, ayrıca şablon çerçevesi olan http://www.thymeleaf.org/'u kullanmanızı öneririm. Bununla çalışmak, JSP ile çalışmak gibidir ama thymeleaf, HTML ile sorunsuz bir şekilde bütünleşir, böylece kodunuz çok temiz görünür ve çok sayıda kullanışlı özellik ekleyebilirsiniz.

16

Kesinlikle Bahar Boot için gidebilirsiniz. Kurumsal uygulama için Spring Boot kullanmaya başladık. Aşağıda pek az sayıda avantaj var:

  1. Proje yapılandırmanız oldukça basit olacaktır. XML dosyasını tutmaya gerek yok, bilmeniz gereken tek şey application.properties dosyasını ne kadar verimli kullanabileceğinizi. Eğer bir e-posta gerekiyorsa

  2. oldukça basit olacaktır JavaMailSender

  3. Bahar Hibernate ve JPA entegrasyon varsayılan uygulamasını sağlar, örneğin, varsayılan uygulama çok kazandırır.

Bunun gibi birçok var, ihtiyaçlarınıza göre keşfedebilirsiniz.

+0

Açıklamanız için çok teşekkürler – Diego

5

Bahar önyüklemesinin, mvc'den daha güvenilir olmasını sağlayan birçok avantaj ve dahili özelliklere sahip olması nedeniyle mvc'den daha kullanışlı olduğunu düşünüyorum. Bahar önyüklemede çoğu şeyin otomatik olarak yapılandırılması ve yazmak için çok zaman harcanmasına gerek yok mvc'de yaptığımız gibi xml.

Bahar Boot Tomcat gibi sunucu çalışma zamanı ile savaş dosyasını demetleri. Bu, web uygulamalarının kolay dağıtım ve dağıtımını sağlar. Sektör konteyner bazlı dağıtımlara doğru ilerlerken, Spring Boot bu bağlamda faydalıdır.

Spring MVC, web uygulaması çerçevesidir.

Bahar çizme senin Bahar bağımlılıkları, bir olmadan bir komut satırından düz çalıştırılabilir artık versiyon çarpışmaları kolaylaştırır: Bahar Boot olmadan Spring gelen her şeyi mümkün olmakla birlikte

, Bahar Boot daha hızlı halletmek yardımcı olur inşa daha az kod ile uygulama konteyner - XML ​​gerek bile web.xml, otomatik konfigürasyon ölçüm sağlarken toplama, üretim, veritabanı başlatma, çevre özgü yapılandırma dosyalarında baharın temelleri için

çalıştırmak için yararlı araçlar önyükleme, şu bağlantıya başvurabilir: https://spring.io/blog/2013/08/06/spring-boot-simplifying-spring-for-everyone

+0

Cevabınız için teşekkür ederiz. İlkbahar botunu anlamak için çok yardımcı oldu. Kafamın karıştığı bir şey, kullanmakta olduğum bahar versiyonunu değiştirmek zorunda kalırsam, bunu bahar botlarıyla nasıl yapardım? Yay versiyonunun tanımlandığı yerleri göremiyorum. – viper

+0

Projenizde maven kullanmadınız mı? @viper – erginduran

+0

evet maven kullandım. ama bahar botunu kullanarak, orada yay bağımlılıklarını göremiyorum. – viper

20

Spring Boot, Spring MVC'yi kullanıyor! Sadece önyükleme-starter-web kavanozu içe aktarırken otomatik olarak yapılandırılmış ve kullanıma hazır. Yani kısaca ... Bahar Önyükleme veya el kurulum Bahar Uygulamasını kullanma konusunda

+2

Yep _ + 1, Yay önyükleme sadece otomatik yapılandırma aracıdır, Spring mvc web çerçevesidir –

+0

@Plain_Dude_Sleeping_Alone Spring MVC'nin bir çerçeve olduğunu anlıyorum. Spring Boot'un sadece bir autoconfig aracı olduğunu mu söylüyorsunuz, aynı zamanda bir Çerçeve olarak kabul edilebilir mi? – Jesse

+0

@Jesse, her ikisi de araçlar veya çerçeveler olarak düşünülebilir. Ama insanlar burada ne dengesizleştiler bahar mavisi bahar mvc web çerçevesi için bir araçtır. Spring mvc için ihtiyaç duyulan hazır konfigürasyonu sağlar, ancak ganimetin kendisi bir çerçeve biçimindedir. Sonunda, ingilizcem çok kötü çünkü yüzünü yakmış olabilir. hehe –