1. 程式人生 > 其它 >【Spring】將元件加入到容器中的方法

【Spring】將元件加入到容器中的方法

技術標籤:計算機後端javaspringjavabean

將元件(類)加入到ioc容器中的方法

1. 通過bean方法,可將元件加入到IOC容器中:

<bean id="XXX" class="XXX"></bean>

2. 通過註解的方式將元件加入到IOC容器中:
(A)通過給bean上新增某些註解,可以快速將元件加入到ioc容器中。
(B)在某個元件(類)上新增上任何一個註解都能快速將整個元件加入到IOC容器中。
C)spring為我們提供了一下註解:
@Controller:控制器;推薦給控制層(Servlet包下的這些)的元件加這個註解。

@Service:伺服器層(業務邏輯層);我們推薦業務邏輯層的元件新增這個註解;BookService
@Repository:給資料庫層(持久化層,dao層)的元件新增這個註解
@Component:給不屬於以上幾層的元件新增這個註解

(D)註解可以隨便加,Spring底層不會去驗證你的這個元件
但是推薦各自層加各自注解;註解是給我們程式設計師看的;

具體步驟:
1)給需要新增到IOC容器中的元件上標註對應註解;
2)告訴Spring,自動掃描加了註解的元件;依賴context名稱空間;
3)匯入aop包;

1)給需要新增到IOC容器中的元件上標註對應註解:
在這裡插入圖片描述

package com.atguigu.dao;
import org.springframework.stereotype.Repository; @Repository public class BookDao { }
package com.atguigu.service;

import org.springframework.stereotype.Service;

@Service
public class BookService {

}

package com.atguigu.servlet;

import org.springframework.stereotype.Controller;

@Controller
public class BookServlet {
}

2)告訴Spring,自動掃描加了註解的元件;依賴context名稱空間(該步在容器配置檔案中新增程式碼):

 <context:component-scan base-package="com.atguigu"></context:component-scan>

3)匯入aop包(要新增至路徑):
在這裡插入圖片描述
特別注意:

  1. 註解的含義:(A)說明了該類屬於哪個層(B)將該類加入到了容器中。
  2. 要從容器中直接獲取沒有id屬性(即沒有bean例項)的元件時,步驟和有獲取bean例項的 一樣:(A)建立IOC容器(B)ioc.getbean:其中物件名是元件名首字母小寫。
  3. 如果要給元件重新命名,只需要在註解後面新增名字即可(如:@Service(“bookDaohahaha”)),ioc.getbean時用該名即可獲取元件。
  4. 和用一樣,Spring預設單例項。
  5. 要將元件變為多例項,可在元件上再新增一個註解:
    在這裡插入圖片描述