Spring的Bean註解配置和泛型依賴注入

2021-09-16 20:55:20 字數 2661 閱讀 1434

spring:乙個擁有控制反轉(ioc)和面向切面(aop)的容器框架,它使用倆種方式將bean類及控制類裝載入ioc容器裡,

xml檔案方式和註解方式,如下介紹的是註解方式。

第一步:給類新增註解:註解有四種,@註解型別("自定義註解名"),註解型別可以混用,註解名預設為類名的駝峰命名

@component: 基本註解, 標識了乙個受 spring 管理的元件

@repository: 標識持久層元件

@service: 標識服務層(業務層)元件

@controller: 標識表現層元件

package mvc;

import org.springframework.stereotype.component;

@component("test")

public class usertest

注意: 當新增註解的類關聯(包含)了其它類時,需要使用註解@autowired來進行自動裝載,加在屬性前或者set***()

方法前,該裝配預設是通過值型別判斷xml檔案裡加載入ioc容器裡的物件來進行匹配並自動裝載

關聯關係的預設xml檔案

<?xml version="1.0" encoding="utf-8"?>

使用註解@autowired自動裝載的xml檔案,@autowired放在屬性前或者set***方法前

<?xml version="1.0" encoding="utf-8"?>

public class zoo

}

注意:當使用@autowired註解自動裝載的是乙個介面(即當前類關聯包含的是乙個介面型別),且該介面有多個實現類

,我們需要在@autowired下新增qualifier("類名")指定自動裝載的是哪個實現類。

@service

public class bmw implements car

}public class benz implements car

}@service

public class ca***ctory

}

第二步:修改xml檔案:乙個配置檔案只能有乙個 ,只要使用了註解配置,都需要新增                                     標籤

第三步:通過註解名獲取bean類

//測試註解法配置bean,通過getbean(註解名)獲取bean物件,預設為類名的駝峰命名

第一步:設定裝載入ioc容器掃瞄的包

第二步: 建立關聯父類與子類

package genericinjection;

import org.springframework.stereotype.repository;

@repository

public class baseuserbean

package genericinjection;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.beans.factory.annotation.qualifier;

import org.springframework.stereotype.service;

@service

public class baseuserservice;

}

package genericinjection;

import org.springframework.stereotype.repository;

@repository

public class userbean extends baseuserbean

package genericinjection;

import org.springframework.stereotype.service;

@service

public class userservice extends baseuserservice

第三步:測試子類是否有關聯關係

//測試泛型依賴注入

genericinjection.userservice userservice=(genericinjection.userservice) context.getbean("userservice");

userservice.add();

spring 註解掃瞄bean配置

spring公共配置 spring 會自動掃瞄com.zghw下的spring註解 常用註解 定義bean的註解 controller controller bean的名稱 定義控制層bean,如action service service bean的名稱 定義業務層bean repository ...

Spring 基於註解配置Bean

參考 spring 中三種bean配置方式比較 在bean實現類中通過一些annotation來標註bean類 scope prototype lazy true component loginuserdao public class loginuserdao 用於設定銷毀方法 predestroy...

spring 註解方式配置Bean

spring能夠從classpath下自動掃瞄,偵測和例項化具有特定註解的元件特定元件包括 component 基本註解,標示了乙個受spring管理的bean元件 respository 標識資料訪問層 dao層 元件 service 標識服務層 業務層 元件 controller 標識控制層 表...