springboot總結

參考之前springboot及主流框架的集成

springboot應用搭建及簡單介紹

springboot 集成freemarker

springboot集成mybatis

springboot集成security

可以發現,還是比較容易和其他框架進行整合的,畢竟是spring自家的產物,解耦和集成自然是它們最擅長的,接下來結合之前的使用做一些總結

1.強大的解耦,集成能力,這個上面已經說過了,就不再贅述。

2.零配置(簡單配置)

是的springboot完全可以做到零配置,而且這也是它們倡導的。這樣的好處是顯而易見的,那就是降低了入門的門檻,對於一個新手來說,怎麼做配置從來都是一件十分頭疼的事,配置越多,對應的學習難度也就越大。那麼它是如何做到的呢,下面以比較常用的數據源配置作爲比較,以期能夠更好理解,

	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
	</bean>

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="mapperLocations" value="" />
		<property name="typeAliasesPackage" value="" />
	</bean>

	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
		<constructor-arg ref="sqlSessionFactory" />
	</bean>

	<bean id="myBatisSessionManager" class="com.chemao.loan.common.core.MyBatisSessionManager">
		<property name="sessionMap">
			<map>
				<entry key="default" value-ref="sqlSession" />
			</map>
		</property>
	</bean>


這是一個常見的數據源配置,可以看見我們配置了dataSource,sqlSessionFactory,sqlSession,myBatisSessionManager,事實上我們只配置了dataSource,sqlSessionFactory,另外兩個bean是基於前面的配置構造出來的,這麼看來後兩個配置並不是必須的,那麼前兩個也可以不配麼,目前來看是不行的,因爲裏面很多是我們自定義的屬性值,官方沒辦法通過默認值去填充,那麼是不是沒辦法了,當然不是,官方沒辦法默認,但可以約定,比如約定property文件spring.datasource.url這個key對應的屬性爲數據庫連接的url,用戶只需要配置這個屬性,其他就可以交給官方去處理了,這樣也就做到了零配置,或者說簡單配置就可以用了。


3.依賴管理

對於開發來說,依賴管理是一件很煩人的事,到了後面有了maven,發現一下子好了很多,但仍然有很多不足,比如依賴的jar包衝突,很多慘痛的事故都是由此引發的,顯然有人意識到了這一點,springboot就做了很好的處理,它定義了一個大而全的依賴管理,所有主流開源的依賴都包括在內(當然個人或公司私有的不包括),然後統一版本,這樣也就解決了衝突問題

詳見

<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-dependencies</artifactId>

4.容器集成

springboot整合了Tomcat,jetty等主流的容器,默認是Tomcat

5.開閉原則

支持擴展,不支持修改,springboot提供了最爲通用,或者官方建議的一種配置方式,這種配置方式是不可以修改的。但是有時候官方的並不能很好的滿足我們的需要,這個時候重寫官方的配置,來實現以下自定義的屬性。


以上是一些感悟,謹供參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章