spring框架學習05 註解配置bean

2021-10-07 23:44:05 字數 2954 閱讀 9819

1.註解配置元件型別

@component:標識乙個受spring ioc容器管理的元件。

@repository:標識乙個受spring ioc容器管理的持久化層元件。

@service:標識乙個受spring ioc容器管理的業務邏輯層元件。

@controller:標識乙個受spring ioc容器管理的表述層控制器元件。

命名規則:

1.預設情況,使用元件簡單類名首字母小寫後的字串作為bean的id

2.使用元件註解的value屬性指定bean的id

注:spring沒有能力識別乙個元件是不是它所標記的型別,所以以上四個元件在功能上沒有區別。但是為了提高**可讀性,需要將不同功能的元件標上不同的註解,以明確當前元件扮演的角色。

一般的三層模型

控制層@controller 接收請求

業務邏輯層@service 處理業務邏輯

持久化層@repository 實現資料持久化

請求打到controller層,經過service層到dao層,再逐層返回響應到客戶端。

利用@autowired註解進行自動裝配,優先使用bytype策略,如果失敗使用byname策略,再失敗報錯。

@autorwired屬性:required預設為true

表示是否必須裝配該屬性,裝配不成功true時丟擲異常,false時保持null,繼續執行

可以在@autowired註解後用@qualifier(value = 「」)指定用哪個bean進行自動裝配。value處填寫bean的id,原理是作用於set的形參來注入。

demo:

控制層

package class02.usermod.controller;

import class02.usermod.service.userservice;

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

import org.springframework.stereotype.controller;

@controller

public

class

usercontroller

public

usercontroller()

}

服務層

package class02.usermod.service;

import class02.usermod.dao.userdao;

import class02.usermod.dao.userdaoimpl;

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

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

import org.springframework.stereotype.service;

@service

public

class

userserviceimpl

implements

userservice

public

userserviceimpl()

}

持久化層

package class02.usermod.dao;

import org.springframework.stereotype.repository;

@repository

public

class

userdaoimpl

implements

userdao

public

userdaoimpl()

}

在xml的配置:加註解、掃瞄元件

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

xmlns

=""xmlns:xsi

=""xmlns:context

=""xsi:schemalocation

="/spring-beans.xsd

/spring-context.xsd"

>

<

context:component-scan

base-package

="class02.usermod"

/>

beans

>

測試類

package class02.usermod;

import class02.usermod.controller.usercontroller;

import class02.usermod.dao.userdao;

import class02.usermod.dao.userdaoimpl;

import class02.usermod.dao.userdaomybatisimpl;

import class02.usermod.service.userservice;

import class02.usermod.service.userserviceimpl;

public

class

test

}

輸出:

usercontroller

userserviceimpl

userdaoimpl

class02.usermod.controller.usercontroller@4009e306

class02.usermod.service.userserviceimpl@43c1b556

class02.usermod.dao.userdaoimpl@587e5365

userdaoimpl:新增成功

Spring框架AOP學習之配註解增強類

建立乙個被增強類book2 package aopdemo import org.springframework.stereotype.component component book public class book2 建立增強類mybook2 package aopdemo import or...

Spring學習筆記 05 基本註解

1.工程目錄如下 2.在spring核心配置檔案中配置掃包 3.建立實體類user,並使用註解 component package com.xiao.pojo import org.springframework.stereotype.component author 笑笑 date 20 37 2...

Spring框架註解的學習

1.restcontroller 相當於 controller responsebody 4.0重要的乙個新的改進是 restcontroller註解,它繼承自 controller註解。4.0之前的版本,spring mvc的元件都使用 controller來標識當前類是乙個控制器servlet。...