首頁  >  文章  >  Java  >  Springboot框架怎麼實現自動組裝

Springboot框架怎麼實現自動組裝

王林
王林轉載
2023-05-18 09:49:381484瀏覽

序言

使用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中文網其他相關文章!

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