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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring创建Bean的3种方式

發布時間:2025/3/20 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring创建Bean的3种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Spring創建Bean的三種方式


1. 調用構造器(因為常用就不講)
2. 調用靜態工廠方法
3. 調用實例工廠方法

2. 使用靜態工廠方法

1.此時<bean.../>元素要指定以下兩個屬性

class:用于指定靜態工廠類的完整類名

factory-method:用于指定創建Bean的靜態工廠方法

2.代碼:

//接口 public interface Animal{public void eat(); }//Dog類 public class Dog implements Animal{private String msg;public void setMsg(String msg){this.msg=msg;}public void eat(){System.out.print(msg);} }//靜態工廠類代碼 public class AnimalFactroy{public static Animal getAnimal(String name){if("dogs".equalsInnoreCase(name)){return new Dog();}else{return new Cat();}} }

3.用配置文件的形式創建Dog Bean的代碼:

<bean id="dog" class="com.dfsj.AnimalFactroy" factory-method="getAnimal"><!--配置靜態工廠方法的參數--><constructor-arg value="dogs"><!--給新建Dog的msg屬性賦值--><property name="msg" value="我是狗"> </bean>

3. 使用實例工廠方法創建

此時<bean.../>元素要指定以下兩個屬性

factory-bean:該屬性值為工廠類在配置文件中的id

factory-method:用于指定創建Bean的靜態工廠方法

4. 靜態工廠方法與實例工廠方法創建Bean時的區別

不同點

  • 靜態工廠要用class屬性指定靜態工廠類的完整類名,而實例工廠用factory-bean指定非靜態工廠類在配置文件中的id
  • 靜態工廠的factory-method指定的方法是靜態方法,而實例工廠的不是
  • 相同點

  • 二者都需要factory-method屬性指定生產Bean實例的方法
  • 工廠方法需要的參數都要通過<constructor-arg>來指定
  • 具體的Bean實例的屬性值賦值,都是通過<property.../>元素
  • 總結

    以上是生活随笔為你收集整理的Spring创建Bean的3种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

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