日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spring注解之@Bean 用法介绍

發布時間:2025/6/17 编程问答 21 如意码农
生活随笔 收集整理的這篇文章主要介紹了 Spring注解之@Bean 用法介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注解 @Bean是一個方法級別的注解,主要用在@Configuration注解的類里,也可以用在@Component注解的類里。添加的bean的id為方法名。

定義Bean

下面摘錄@Configuration里的一個定義Bean的實例:

@Configuration
public class AppConfig { @Bean
public TransferService transferService() {
return new TransferServiceImpl();
} }

這個配置就等同于如下xml里配置:

<beans>
<bean id="transferService" class="com.acme.TransferServiceImpl"/>
</beans>

Bean的依賴

@Bean 也可以依賴其他任意數量的Bean,如果TransferService 依賴 AccountRepository,我們可以通過方法參數實現這個依賴

@Configuration
public class AppConfig { @Bean
public TransferService transferService(AccountRepository accountRepository) {
return new TransferServiceImpl(accountRepository);
} }

自定義Bean的別名

默認情況下bean的名稱和方法名稱相同,下面使用name屬性來指定。創建BeanTest類:

package com.eg.wiener.config;

import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service; @Service
public class BeanTest { @Bean("myBeanObj")
public BeanTest getBeanObj() {
BeanTest bean = new BeanTest();
System.out.println("調用方法:" + bean);
return bean;
} }

通過下面的方法可以定義多個別名:

@Bean(name = { "myBeanObj", "myBeanObj1", "beanObj" })

在啟動Spring Boot項目時,我們通過run()方法返回的ApplicationContext對象獲取我們想要的Bean:

    private static ApplicationContext applicationContext;

    public static void main(String[] args) {
applicationContext = SpringApplication.run(WienerApplication.class, args);
Object bean1 = applicationContext.getBean("myBeanObj"); System.out.println(String.format("打印bean1 %s", bean1));
bean1 = applicationContext.getBean("myBeanObj");
System.out.println(String.format("打印bean2 %s", bean1));
}

項目啟動后,在日志中可以發現如下三條記錄:

調用方法:com.eg.wiener.config.BeanTest@53311681
打印bean1 com.eg.wiener.config.BeanTest@53311681
打印bean2 com.eg.wiener.config.BeanTest@53311681

說明定義別名成功。

Bean的描述

提供函數的詳細描述信息對開發而言十分重要,bean的描述可以使用 @Description來提供。

@Bean("myBeanObj")
@Description("請添加必要的描述消息")
public BeanTest getBeanObj() {
BeanTest bean = new BeanTest();
System.out.println("調用方法:" + bean);
return bean;
}

Reference

https://www.cnblogs.com/feiyu127/p/7700090.html

總結

以上是生活随笔為你收集整理的Spring注解之@Bean 用法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。