搜尋
首頁Javajava教程Springboot框架怎麼實現自動組裝

Springboot框架怎麼實現自動組裝

May 18, 2023 am 09:49 AM
springboot

序言

使用springboot框架,您可以輕鬆快速地建立獨立的生產層級的spring應用程式。 springboot主要有以下的特性:

1.創建獨立的Spring應用

2.直接嵌入Tomcat等Web容器(不需要部署WAR檔案)

3.提供固化的「starter」依賴,簡化構建配置

4.當條碼滿足時自動裝配Spring貨第三方類庫

5.提供運維的特性,如指標信息,健康檢查和外部設定

6.不需要XML設定。

從程式的使用去入手分析

引入mybatis的starter依賴和相關的資料庫驅動

      <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
      </dependency>

程式使用

//程序的启动类
@SpringBootApplication
public class HelloApplication {
	public static void main(String[] args) { 
		SpringApplication.run(HelloApplication.class, args);
	}
//服务类
@Service
public interface UserService {
    @Autowired
    private UserXmlMapper userXmlMapper;
    @Test
    public void testFindAll2() {
        List<User> list = userXmlMapper.findAll();
        System.out.println(list);
    }
}
//Dao 操作
@Mapper
public interface UserXmlMapper {
    public List<User> findAll();
}

上面的程式碼,大家都是很熟悉的,springboot是如何實現@Mapper的註解,就可以操作資料庫呢(就是中間有個橋樑,如何將springboot和mybatis連接起來的,而這個橋樑是如何實現的呢)

從啟動類別尋找橋樑

Springboot框架怎麼實現自動組裝

透過原始碼可以知道

橋樑=@SpringBootApplication=>@EnableAutoConfiguration=>@Import({ AutoConfigurationImportSelector.class})

分析原始碼可知AutoConfigurationImportSelector的主要作用

  • 掃描classpath下所有的jar套件

  • 掃描classpath下所有的jar套件

掃描classpath下所有的jar套件

Springboot框架怎麼實現自動組裝

Springboot框架怎麼實現自動組裝掃描classpath下所有的jar套件

# ##在META-INF/spring.factories配置好的AutoConfiguration############掃描出來需要執行的AutoConfguration#############回想再使用mybatis的時候,是需要引入mybatis的starter依賴套件的,再結合AutoConfigurationImportSelector的第二點功能,可以到對應的jar下找到mybatis的AutoConfguration。 #########################也就是說spring-boot啟動【會建立個spring容器】的時候,會去執行MybatisAutoConfiguration的邏輯【處理@ Mapper的類別(掃描出來注入srping容器)和資料庫連線等功能】。 ###

以上是Springboot框架怎麼實現自動組裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能