---
# System prepended metadata

title: What is Spring Framework?
tags: [Spring Framework]

---

# What is Spring Framework?

是一個輕量級的設計型框架，讓programmer可以更專注在business logic的維護，它提供固定的架構與模式，讓開發出的程式碼有一貫的風格。


### 使用者帳戶service只會有1個instance，該怎麼分享這個服務?

針對 single instance 的分享與狀態維護，以往必須用 singleton pattern 來維護，但這要寫很多的code並管理其life cycle，其實蠻麻煩的；現在由spring管理之後，在service層(@service)可以簡單複用(singleton)。

### why Denpendency Injection？

以往programmer在建立物件時，很容易被Denpendency引導建立多個instance；將建立物件建立的責任交給sprin之後，由spring自動裝配其相依性(Denpendency)，非常舒服。

### JDBC 連接資料庫？

承認吧，在JAVA裡用JDBC去存取資料真的很煩人；Spring 有多個ORM框架可以使用，讓你的source code盡可能貼近『語意』而不是資料庫底層的SQL。

### Java web ? 

Spring MVC, 讓你快速建立 RESTful API 佈屬 web 應用。

###### tags: `Spring Framework`