使用Annotation註解法建立物件 常用註解

2021-09-26 23:01:26 字數 1988 閱讀 4032

使用xml宣告法建立物件時容易造成配置檔案中宣告的**過多,對後期**維護不利。可以使用spring中提供的annotation註解法來解決這個問題。

配置**的作用是在指定的包中掃滿符合建立物件的類,如果某些類需要被spring例項化,則class類的上方必須使用@compent註解

配置檔案如下:注意下面有三行以context結尾的**是使用註解法必須新增的配置

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

註解@component的作用就是標識類是乙個元件,能被掃瞄器所識別並進行自動化例項,最後將例項物件放進di容器中。

package com.spring.service;

import com.spring.dao.myuser;

import com.spring.dao.myuserimpl;

import com.spring.entity.user;

import org.springframework.stereotype.component;

@component

public class userserviceimpl implements userservice

@override

public void add(user user)

}

此時獲取物件時,方法getbean(類.class)。

當有多個同型別的可掃瞄元件存在時,可能會造成混淆,此時可以選用@component(「bean id」)

@component("userservice1")
在獲取物件時即getbean(「beanid」)

getbean("userservice1");
web開發,常用的註解

@repository:作用類同與@compenent。但@repository主要用來dao層, @compenent主要用來宣告一些通用性元件。

@service:宣告service層

@controller:宣告action//controller層

@autowired:根據屬性型別自動注入,在類中,寫在需要注入的屬性之前。如果屬性是乙個介面,就從容器查詢介面實現類。如果是乙個類就從容器中查詢類。

@qualifier:當具有多個同型別的類時,可依據id注入。

如:service層中

@service("myservice")

在actioin中指定注入id進行注入

@autowired

@qualifier("myservice")

private userserviceimpl userserviceimpl;

@@resource(name =「id」 ):該註解等同於上兩條註解的效果,下面**段與上面**段效果一致。

@resource(name ="myservice" )

private userserviceimpl userserviceimpl;

@scope(prototype):多例

@postconsttuct:自定義初始化方法

@predestory:自定義銷毀

這時候,因為自動注入設計到多個包(dao層,service層等),在配置檔案中使用建立物件時,所寫的包名下一定要包含所涉及的所有包,(不然就會報錯嚶嚶嚶)

歡迎指正哈!

後台 33 註解Annotation

探索android軟鍵盤的疑難雜症 深入 android非同步精髓handler 詳解android主流框架不可或缺的基石 站在原始碼的肩膀上全解scroller工作機制 android多解析度適配框架 1 核心基礎 android多解析度適配框架 2 原理剖析 android多解析度適配框架 3 ...

Annotation(三) Spring註解開發

spring 框架的核心功能 ioc inversion of control 也就是通過 spring 容器進行物件的管理,以及物件之間組合關係的對映。通常情況下我們會在 xml配置檔案中進行 action service,dao 等層的宣告,然後並告知框架我們想要的注入方式,然後在類中宣告要組合...

框架基礎之Annotation註解

註解 jdk1.5後的新特性 註解 寫給編譯器和虛擬機器的特殊的注釋 通過反射可以獲取註解中都是資料類指揮編譯器的編譯或者干涉虛擬機器的執行 理解 註解代替xml檔案 來記錄配置資訊 程式執行過程中要載入的資料 父介面 annotation 註解關鍵字 inte ce 物件 註解可以引導程式的所有元...