java spring bean配置文件_Spring基于xml文件配置Bean過程詳解

這篇文章主要介紹了spring基于xml文件配置Bean過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

通過全類名來配置:

class:bean的全類名,通過反射的方式在IOC容器中創建Bean,所以要求bean中必須有一個無參的構造器。

在springIOC容器讀取Bean配置創建Bean的實例之前,需要對容器進行實例化。spring提供了兩種類型的IOC容器實現:

beanfactory:IOC容器的基本實現。

ApplicationContext:提供了更多高級特性,是beanfactory的子接口。

ApplicationContext主要實現類:

ClassPathXmlApplicationContext:從類路徑加載配置文件。

FileSystemXmlApplicationContext:從文件系統中加載配置文件。

ConfigureableApplicationContext擴展于ApplicationContext,新增兩個方法refresh()和close(),讓ApplicationContext具有啟動、刷新和關閉上下文的能力。

ApplicaiotnContex在初始化時就上下文時就實例化所有單例的Bean。

WebApplicationContext是專門用于WEB應用的,它允許從相對于WEB根目錄的路徑中完成初始化工作。

依賴注入的三種方式

(1)屬性注入:通過setter方法:,即在bean中存在setter方法。

(2)構造器注入:,根據構造方法中初始化的參數進行一一設置,同時,可以根據參數的順序index,參數的類型type來區分重載的構造器。

(3)工廠方法注入(很少使用,不推薦)

//第一種方式注入屬性值

//第二種方式注入屬性值

99.00

package com.gong.spring.beans;

public class Student {

private String name;

private int age;

private double score;

public Student(String name,int age,double score) {

this.name = name;

this.age = age;

this.score = score;

}

@Override

public String toString() {

return "Student [name=" + name + ",age=" + age + ",score=" + score + "]";

}

}

public static void main(String[] args) {

//1.創建spring的IOC容器對象

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

//2.從容器中獲取Bean實例

Student student = (Student) ctx.getBean("student");

System.out.println(student.toString());

}

73276a8f2ac6d040ee8cf20bac4e7d78.gif

當屬性值有特殊符號時,要用以下方式:

]]>

用。

相關文章

總結

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

如您喜歡交流學習經驗,點擊鏈接加入交流1群:1065694478(已滿)交流2群:163560250

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537952.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537952.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537952.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

win10升級后chrome碰到對話框就卡死

低版本的 chrome 會出現這樣的問題 解決方法: 設置-------高級設置-----取消硬件加速

客戶端SDK測試思路

本文來自網易云社區作者:萬春艷是什么客戶端SDK是為第三方開發者提供的軟件開發工具包,包括SDK接口、開發文檔和Demo示例等。SDK和應用之間是什么關系呢?以云信即時消息服務為例,如下圖所示,應用客戶端通過調用云信SDK…

nginx could not build the server_names_hash 解決方法

原文地址:http://www.jb51.net/article/26412.htm ------------------------------------------------------- nginx “nginx could not build the server_names_hash”解決方法 給一個服務器下增加了一些站點別名,差不多有20多個。 重啟nginx時候&#…

java 使用fusioncharts_fusioncharts同一頁面顯示2個儀表盤,且以java字符串作為xml數據...

fusioncharts同一頁面顯示2個儀表盤,且以java字符串作為xml數據String path request.getContextPath();%>String xml "";%>FusionCharts - Multiple Charts on one Pagevar contextpath "";var xml ;body {font-family: Arial, Helve…

排名前16的Java工具類

原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考數據來源于Github上隨機選取的5萬個開源項目源碼…

VS2012(Visual Studio 2012)官方免費中文旗艦版下載(含激活密鑰)

原文路徑:http://www.nocang.com/visual-studio-ultimate-2012/ vs2012旗艦版安裝激活教程 1、下載到的是ISO格式文件,直接解壓縮或用虛擬光驅加載運行;2、無所不藏推薦直接解壓縮安裝即可,雙擊“vs_ultimate.exe”進行安裝&#…

magic square java_測試Magic Square Java的.txt文件

我不想問,但我無法弄清楚這個任務,當我尋求幫助時,助教也不會。我必須從文本文件中獲取輸入,將文件中的整數輸入到數組列表中,然后測試它是否是anxn幻方。n等于數組列表長度的平方根。如果不是理想的正方形&#xff0c…

字符串拼串 能緩解我們的開發難度→!←(ε=(′ο`*)))唉,又是一個不知道該怎么寫題目的隨筆啊,頭疼)...

簡單描述:今天看我同事提交的代碼,發現一個東西,讓我有了一點小想法,是這樣的,他利用一個‘’無關緊要‘’的標簽屬性,(哈哈哈,也不能說人家是無關緊要的屬性了,暫時是無關緊要的屬性…

SQL中使用DISTINCT顯示多個字段的方法(不使用DISTINCT了)

原文連接: https://www.cnblogs.com/alanliu/archive/2008/02/25/1080626.html --------------------------------- 效果是DISTINCT CUS_NO,并且同時顯示CUS_NAME.SELECTCUS_NO,MIN(CUS_NAME) ASCUS1 FROMdbo.CUS GROUPBYCUS_NO

java 注釋快捷打出時間_Java快捷---自動注釋時間作者。。。

在使用Eclipse 編寫Java代碼時,自動生成的注釋信息都是按照預先設置好的格式生成的。修改作者、日期注釋格式:打開Windows->Preferences->Java->Code Style->Code Templates,點擊右邊窗口中的Comments,可以看到有很多…

016 pickle

英文也是泡菜的意思。 學完了,還是感覺這個模塊是蠻不錯的,對多數據保存到文件中,然后在使用的時候,再讀取出來,讓程序閑的更加優雅,簡潔。 一:介紹 1.為什么使用 在開篇已經介紹了,…

centos7與centos6區別

原文連接:https://www.cnblogs.com/bethal/p/5945026.html ---------------------------------------------------------------- CentOS 7 vs CentOS 6的不同 (1)桌面系統[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系統[…

用java編寫日歷添加窗口一角_Java 實訓4 編寫一個窗體程序顯示日歷

實訓要求:1.使用BorderLayout 進行總體布局2.在North 位置放置包含兩個按鈕( 上月和下月)的Panel3.在South 位置放置一個Label 用于顯示當前年份和月份4.在Center 位置放置一個顯示日歷的Panel5.顯示日歷的Panel 設置7 行7 列的GridLayout 布局,其中第1行…

ER圖轉換成關系模式集的規則

轉自己博客園文章 A與B1:1 在A表里把B表的主鍵和關系的屬性加入到A表中 或B表里把A表的主鍵和關系的屬性加入到B表中 舉例 男人表身份證號姓名年齡女人身份證號登記日期女人表身份證號姓名年齡 A與B1:N 在A表中加入B表的主鍵與關系的屬性 小米公司納稅號公司全稱…

Grafana文檔(在Centos / Redhat上安裝)

在基于RPM的Linux上安裝(CentOS,Fedora,OpenSuse,RedHat) 描述下載CentOS / Fedora / OpenSuse / Redhat Linux穩定版本x86-64CentOS / Fedora / OpenSuse / Redhat Linux穩定版本ARM64CentOS / Fedora / OpenSuse / R…

python3數字類型分為_Python初學3——數字類型及操作

一、數1.1 整數類型( 十、二、八、十六進制 )python中整數類型與數學中的整數概念一致,有正有負,取值任意。整數的表示形式:整數類型表示形式舉例十進制34,163,210二進制0b1101 或 0B1101八進制0o357 或 0O357十六進制0x45ac 或 0X45ac1.2 浮…

idea 2018.1 創建springboot開啟找回Run Dashboard

原文連接&#xff1a;https://www.cnblogs.com/yangtianle/p/8818255.html ---------------------------------------------------------------------------------配置方法首先找到項目中.idea文件下的workspace.xml開打接下來找到<component name"RunDashboard"&…

wepack構建工具

神TMc css重要性 程序猿 感嘆

php獲取藍湊云文件列表,php調用藍奏云下載接口

/*** package Lanzou* author Filmy* version 1.2.1* link https://mlooc.cn*/header(Access-Control-Allow-Origin:*);header(Content-Type:application/json; charsetutf-8);$url isset($_GET[url]) ? $_GET[url] : "";$pwd isset($_GET[pwd]) ? $_GET[pwd] : …

微信支付-服務端-bug排查記錄

微信支付服務端需要對微信官方的統一下單接口發送請求獲取prepayId作為app端調用支付的憑證&#xff0c;如果返回簽名錯誤&#xff0c;首先排查代碼層面的錯誤。 方法&#xff1a;使用微信官方的簽名算法檢驗。 地址&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/jsapi.…