Springboot mini - Solon詳解(一)- 快速入門
阿新 • • 發佈:2020-12-10
> Springboot min -Solon 詳解系列文章:
> [Springboot mini - Solon詳解(一)- 快速入門](https://www.cnblogs.com/noear/p/14115763.html)
> [Springboot mini - Solon詳解(二)- Solon的核心](https://www.cnblogs.com/noear/p/14115817.html)
> [Springboot mini - Solon詳解(三)- Solon的web開發](https://www.cnblogs.com/noear/p/14115846.html)
### 一、Springboot min -Solon
最近號稱 Springboot mini 的 Solon框架,得空搞了一把,發覺Solon確實好用,小巧而快速。那Solon到底是什麼,又是怎麼好用呢?
#### 什麼是Solon?
Solon是參考Spring boot 和 Javalin 而設計。吸取了兩者的的優點,避開了很多繁重的設計,使其支援http, websocket, socket 三種通訊訊號接入。Solon 2M即可支撐起普通的mvc開發了,0.1秒就可以完成啟動;相對於言,Spring boot 的一個普通mvc專案,基本上20M起步,啟動要3秒以上,而且qps也弱了很多。
總體來說,Solon 有著類似於 Spring boot的開發體驗;故而號稱Springboot mini。
專案原始碼:[https://gitee.com/noear/solon](https://gitee.com/noear/solon)
#### Solon的優缺點
**優點**
1. 更小、更快、更自由
2. 支援註解與手動兩種控制模式,自由切換
3. 自帶IOC & AOP容器,支援MVC
4. 採用Handler + Context 架構;強調外掛式擴充套件
5. 統一Http(支援 Servlet 或 NoServlet),WebSocket,Socket三種訊號接入
6. 外掛可擴充套件可切換:啟動外掛,擴充套件外掛,序列化外掛,資料外掛,會話狀態外掛,檢視外掛(可共存) 等...
7. 體驗與Spring boot相近,遷移成本低
**缺點**
1. 新框架的通病,文件相對較少
2. 第三方專案的適配較少
### 二、快速入門
#### 1、Solon的Java bean配置方式
使用Solon,可以零配置就讓你的專案快速執行起來,完全使用程式碼和註解取代配置。使用java程式碼方式可以更好的理解你配置的Bean,下面就先來看看兩個最基本的註釋:
##### 1)@Configuration + @Bean 方式
Solon 的java配置方式是通過@Configuration 和 @Bean這兩個註釋實現的(沒有xml方案):
```java
@Configuration
public class SolonConfig {
@Bean
public UserDao getUserDao() {
return new UserDao();
}
}
```
##### 2)@Component
> 該示例將通過java配置方式配置Component,實現Solon IOC功能。
下面是一個簡單的模擬從資料庫獲取User資料的Dao類(使用了@Component註解,說明它將交給Solon容器管理)。
```java
@Component
public class UserDao {
pub