Spring是Java企業版應用程序開發中使用最普遍的框架.Spring的核心功能可用於開發任何Java應用程序。html
咱們可使用它的擴展來在Java EE平臺上構建各類Web應用程序,或者咱們能夠在簡單的獨立應用程序中使用它的依賴注入。前端
Spring旨在簡化Java EE開發。如下是使用它的優勢:java
依賴注入是控制反轉(IoC)的一個方面,它是一個通用概念,代表您不是手動建立對象,而是描述應如何建立它們。若是須要,IoC容器將實例化所需的類。程序員
存在一些不一樣的選擇:面試
可使用XML文件或註釋完成配置。算法
建議的方法是使用構造函數參數用於強制依賴項,將setter用於可選依賴項。構造函數注入容許將值注入不可變字段並使測試更容易。spring
BeanFactory 是一個表示提供和管理bean實例的容器的接口。默認實如今調用 getBean() 時實例化bean 。數據庫
ApplicationContext 是一個接口,表示容納應用程序中全部信息,元數據和bean的容器。它還擴展了 BeanFactory 接口,但默認實如今應用程序啓動時立馬實例化bean。能夠爲單個bean覆蓋此行爲。編程
Spring Bean是由Spring IoC容器初始化的Java對象。設計模式
默認狀況下,Spring Bean初始化爲單例 。
要設置Spring Bean的範圍,咱們能夠在XML配置文件中使用 Scope 註釋或「Scope」屬性。
有五個支持的範圍:
不,單例bean不是線程安全的,由於線程安全是關於執行的,而單例是一種專一於建立的設計模式。線程安全僅取決於bean實現自己。
首先,須要基於Java或XML bean定義來實例化Spring bean。可能還須要執行一些初始化以使其進入可用狀態。以後,當再也不須要bean時,它將從IoC容器中刪除。
全部初始化方法的整個循環顯示在下圖上:
這是以類型安全的方式配置基於Spring的應用程序的方法之一。它是基於XML的配置的替代方案。
能夠,在大型項目中,建議使用多個Spring配置以提升可維護性和模塊性。
您能夠加載多個Java註解的配置:
@Configuration @Import({MainConfig.class, SchedulerConfig.class}) public class AppConfig {
或者加載一個包含全部其餘配置的XML文件:
ApplicationContext context = new ClassPathXmlApplicationContext("spring-all.xml");
在XML文件中你也能夠包含其它配置文件:
<import resource="main.xml"/> <import resource="scheduler.xml"/>
Spring Security是Spring框架的一個獨立模塊,專一於在Java應用程序中提供身份驗證和受權方法。它還會處理大多數常見的安全漏洞,例如CSRF攻擊。
要在Web應用程序中使用Spring Security,您能夠開始使用簡單的註解:@EnableWebSecurity。
Spring Boot是一個項目,它提供了一組預先配置的框架,以減小用戶的配置,以便您可使用最少許的代碼啓動並運行Spring應用程序。
「不積跬步,無以致千里」,但願將來的你能:有夢爲馬 隨處可棲!加油,少年!
關注公衆號:「Java 知己」,天天更新Java知識哦,期待你的到來!
原文出處:https://www.cnblogs.com/java-friend/p/11547860.html