1. 程式人生 > >Spring學習,初識Spring

Spring學習,初識Spring

rgs png ice hello pri ssa 解耦合 cat orm

Spring概述

將Spring理解為管理對象間依賴關系的容器

“解耦”


根據功能的不同,可以將一個系統中的代碼分為 主業務邏輯 與 系統級業務邏輯 兩類

```
Spring 是為了解決企業級開發的復雜度問題
1.主業務邏輯
保險業務
銀行業務


2.系統級業務邏輯,交叉業務邏輯
jdbc連接數據庫




```
特點

輕量

針對接口編程解耦合

AOP編程的支持

方便集成各種優秀框架

spring框架結構
技術分享圖片)

優點:
`
  1.低侵入式設計,代碼汙染極低

  2.獨立於各種應用服務器,基於Spring框架的應用,可以真正實現Write Once,Run Anywhere的承諾

  3.Spring的DI機制降低了業務對象替換的復雜性,提高了組件之間的解耦

  4.Spring的AOP支持允許將一些通用任務如安全、事務、日誌等進行集中式管理,從而提供了更好的復用

  5.Spring的ORM和DAO提供了與第三方持久層框架的良好整合,並簡化了底層的數據庫訪問

  6.Spring並不強制應用完全依賴於Spring,開發者可自由選用Spring框架的部分或全部`
  
  
  
  技術分享圖片)
  
  
  
  
  Spring 由 20 多個模塊組成,它們可以分為數據訪問/集成(Data Access/Integration)、Web、面向切面編程(AOP, Aspects)、應用服務器設備管理(Instrumentation)、消息發送(Messaging)、核心容器(Core Container)和測試(Test)。
  
  
 
 
 
 
 
 
 
膠水框架

兼容主流解決方案

控制反轉Ioc

控制反轉(IoC,Inversion of Control),是一個概念,是一種思想。指將傳統上由程序代碼直接操控的對象調用權交給容器,通過容器來實現對象的裝配和管理。控制反轉就是對對象控制權的轉移,從程序代碼本身反轉到了外部容器。
oC 是一個概念,是一種思想,其實現方式多種多樣。當前比較流行的實現方式有兩種: 依賴註入和依賴查找。依賴註入方式應用更為廣泛。

依賴查找:Dependency Lookup,DL,容器提供回調接口和上下文環境給組件,程序代碼則需要提供具體的查找方式。比較典型的是依賴於 JNDI 系統的查找。
依賴註入:Dependency Injection,DI,程序代碼不做定位查詢,這些工作由容器自行完成。
依賴註入 DI 是指程序運行過程中,若需要調用另一個對象協助時,無須在代碼中創建被調用者,而是依賴於外部容器,由外部容器創建後傳遞給程序。

Spring 的依賴註入對調用者與被調用者幾乎沒有任何要求,完全支持 POJO 之間依賴關系的管理。

==依賴註入是目前最優秀的解耦方式==。依賴註入讓 Spring 的 Bean 之間以配置文件的方式組織在一起,而不是以硬編碼的方式耦合在一起的

第一個spring程序


測試spring

package com.cuiyuling.hello.spring;

import com.cuiyuling.hello.spring.service.UserService;
import javafx.application.Application;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {
public static void main(String[] args){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-context.xml");
UserService userService = (UserService) applicationContext.getBean("userService");
userService.sayHi();
}
}


文件目錄結構

技術分享圖片



技術分享圖片

效果展示

技術分享圖片

配置文件

技術分享圖片



Spring學習,初識Spring