1. 程式人生 > >Java自學之路-Java中級教程-5:Spring元件物件註解@Component和屬性值註解@Value

Java自學之路-Java中級教程-5:Spring元件物件註解@Component和屬性值註解@Value

除了註解@Autowired,還可以使用@Component註解,這個註解甚至可以把beans.xml中的bean全部省略。

如上,把beans.xml中的bean全部使用註釋符號註釋掉,或者直接把所有的bean刪除都可以。同時,Person、Head、Foot、Hand這些類,全都加上一行@Component註解。還可以給Foot的 size屬性賦值,使用@Value(value="42")。

@Component
public class Person {

private int id;

private String nation;

@Autowired
private Hand hand;

@Autowired
private Head head;

@Autowired
private Foot foot;
}

@Component
public class Hand {

}
@Component
public class Foot {

@Value(value = "42")
private int size;

public int getSize() {
return size;
}

public void setSize(int size) {
this.size = size;
}

}
@Component
public class Head {
 

}

同時,在xml中加入spring的註解配置:

<context:annotation-config/>
<context:component-scan base-package="org.spring"/>

並且,加入schema宣告:xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/beans/spring-context.xsd
"

這樣,xml的注入就省略了。同樣,在SpringMain中可以直接訪問方法獲取想要的值。

import org.springframework.context.support.FileSystemXmlApplicationContext;

import com.helloworld.Person;

public class SpringMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		FileSystemXmlApplicationContext ac = new FileSystemXmlApplicationContext("E:/helloworld/beans.xml");
		Person person = (Person) ac.getBeanFactory().getBean("person");

		System.out.println("person.getFoot().getSize():" + person.getFoot().getSize());

	}

}

列印結果為

person.getFoot().getSize():42

到這裡,Spring的基本用法已經足夠開發了。後面還有一些概念和用法,以及與其他框架結合的用法,也都大同小異了。

配套進階視訊教程:

Java中级SSHæ¡æ¶é¡¹ç®å¼å设计æç¨

Java視訊教程

相關推薦

Java自學-Java中級教程-5Spring元件物件註解@Component屬性註解@Value

除了註解@Autowired,還可以使用@Component註解,這個註解甚至可以把beans.xml中的bean全部省略。 如上,把beans.xml中的bean全部使用註釋符號註釋掉,或者直接把所有的bean刪除都可以。同時,Person、Head、Foot

Java自學-Java中級教程-9Spring自動掃描注入component-scan以及@Service註解

Spring的@Autowired註解可以實現自動裝配,即不需要在xml中再顯式地注入依賴。 前面幾節的資料庫訪問類PersonDataAccessObject實際上已有dataSource和jdbcTemplate兩種實現,為了能夠繼續使用兩種方式,可以給Person

Java自學-Java中級教程-18SpringMVC列表框select單選框radio、多選框checkbox的處理

頁面表單還有很多控制元件,這一節介紹比較常用的列表框和單選框、多選框。列表框就是下拉列表選項,用在有多個選擇的情況,比如一大堆的國家和城市可以做成一個下拉列表供使用者選擇。單選框用在只能選擇一種選項的情況,比如性別要麼選男,要麼選女。多選框即是可以多選,比如興趣愛好可以選電腦

Java自學-Java中級教程-12SpringMVC的三層架構模型層、表現層、控制層

MVC即Model、View、Controller三者的縮寫。Model為模型層,View為表現層,Controller為控制層。其中M處於最底層,V在最上層,中間層為Controller。比如使用者訪問網站,首先接觸的是View,即是網頁。通過訪問網頁的url,就會傳到Co

Java自學-Java基礎教程-19Java四大特性抽象性以及abstract

Java有一種類定義為抽象的,使用關鍵字abstract。抽象的意思就是不具體的,需要其他類繼承,才能生成這個類的物件進行使用。 package com.helloworld; public abstract class AbstractManager { p

Java自學-Java基礎教程-1第一行Java程式碼Hello World!

Java是一門很熱門的計算機語言,它能為網際網路應用、企業內部應用提供很好的程式,還可以在硬體如手機,家電,機床,伺服器,電腦,機器人等上面進行嵌入式程式設計讓硬體活動,也可以用來建設網站,比如影音藝這個網站就是使用純Java語言寫的。這是由於Java具有的幾大特性:

Java自學-Java基礎教程-42Java的UI介面AWTSwing元件

在學Java的初期,其實很不情願地學,這面向物件的語言還是和C語言似的,沒有什麼介面的呢,也不能在桌面上執行呢。能不能像電腦裡的桌面軟體一樣,雙擊就可以開啟?能不能像其他桌面軟體一樣,可以輸入文字,可以有按鈕或選單什麼的?能不能搞出一個滑鼠點點就能用的軟體出來?其實Java也

[zz] JAVA自學&馬士兵教程觀看順序

JAVA自學之路 七:路線圖明細 下面給出第二節《JAVA自學路線圖》中知識點的明細: 一:J2SE 面向物件-封裝、繼承、多型 記憶體的分析 遞迴 集合類、泛型、自動打包與解包、Annotation IO  多執行緒、執行緒同步  TCP/UDP  AWT、事件模型、匿名

java學習筆記】JAVA自學 JAVA自學 ___轉知乎

一:J2SE 面向物件-封裝、繼承、多型 記憶體的分析   遞迴 集合類、泛型、自動打包與解包、Annotation   IO 多執行緒、執行緒同步      TCP/UDP AWT、事件模型、匿名類      正則表示式 反射機制 二:資料庫(Oracle或者MySQL) SQL語句 多表連線,內外連線

Python自學-Python基礎教程-24使用tkinter的Canvas畫布元件繪圖

要在tkinter的視窗上繪圖也是可以做到的,這需要使用Canvas畫布元件。 新增一個Canvas物件也很簡單,指定寬度和高度,就可以在這個物件上畫圖。 tkWindow = tk.Tk() draw = tk.Canvas(tkWindow, width=100

Python自學-Python基礎教程-22使用tkinter的PhotoImage開發網路圖片檢視器

前面介紹了訪問網路和下載圖片的程式,並且也有了可以展示介面的程式,這樣就可以開發一個有介面的網路圖片檢視器。在這個圖片檢視器點選按鈕,可以顯示網路上的圖片。 import tkinter as tk import urllib.request impor

java自學-day06

不同的 output 變量賦值 使用 計算 數列 nic 管理 center JAVA06 引用數據類型 數組 類 接口 也是一種引用類型 用於定義屬性和功能對現實中的事物的描述 例如 學生類的定義 格式 自定義數據類型 public calss 類名{ 屬性和方法

java自學-day11

局限 局限性 浮點運算 漢字 虛擬機 trac 檢查 copy intvalue JAVA11 正則表達式 l 概念 是一個字符串 滿足一定的規則 qq號碼檢查 [1-9] [0-9] [4,9] 檢查某些字符是否合規 例如 用戶名是否合規 一個[]代表一個或者多個

java自學-day18

收費 基本查詢 sqlite 他還 select 找到 之前 合計 表名 數據庫 數據庫 概念 l 對於一串數據修改其中的一條數據 l 如果用io流就需要全盤讀寫 然後找到其中的一行 進行修改 l 或者使用數組進行修改 l 這樣太復雜 效率慢 所以需要引用數據庫 l

java自學-day21

產生 方式 方法 可變參 main方法 ext 都是 破壞 類文件 JAVA21 類加載器 類的加載 l 當程序要使用某個類時,如果還沒被加載到內存中,系統會就會通過加載 連接 初始化三個步驟對這個類進行初始化 l 加載 類的加載器將class文件讀入內存,放入方法區

【轉】Java自學——by馬士兵

推薦 行業 zha 而是 異常處理 復習 價值 連接 cookie 作者:馬士兵老師 JAVA自學之路 一:學會選擇 為了就業,不少同學參加各種各樣的培訓。 決心做軟件的,大多數人選的是java,或是.net,也有一些選擇了手機、嵌入式、遊戲、3G、測試等。 那麽

Java 自學

領導 後來 科大 一起 在家 數據 前端 inf 關系 Java 自學之路 前言 從運行第一個程序開始算起,我接觸編程也有三年的時間了。最初是從51單片機入門學習的C語言,班裏面的大佬帶著我一起做小項目,但是因為沒人教,基本靠自學,學得慢,寫的代碼也爛,很沒有章法。後來大三

.Net轉Java自學—基礎鞏固篇十五(IO)

IO:   IO流按操作分為:位元組流、字元流。   所有的資料都是以位元組體現的,後期產生了字元流。因為字元資料涉及到了編碼問題。所以在字元流物件中加入的編碼機制。如果處理的資料都是字元資料,那麼可以使用字元流物件來完成。   IO流按流分為:輸入流、輸出流。 字元流:   字元流操作檔案資料,讀

自學java第二章java必經——java基礎排序題

兩個數字的排序題 //題目:保證變數a小於b。 Int a= 8, b = 5; if(a>b){ //若a>b則換,保證a<b int c= a; a = b; b = c;//追尾並繞圈 System.out.p

我的 Java 自學

其實在轉正之後我就想抽個時間好好的梳理一下我的 Java 上車之路 ,但是一直拖到現在 ,因為有學弟問到 ,所以也就給了我動力 。畢竟答應了人家的事要做到 。 首先要有相應的背景介紹 ,不然說個毛線啊 ,大家不在同一水平 ,不好參考借鑑 。我呢 ,學校很牛逼