Spring中基于Java的@Configuration和@Bean用法是什么

本篇內(nèi)容主要講解“Spring中基于Java的@Configuration和@Bean用法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring中基于Java的@Configuration和@Bean用法是什么”吧!

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,安平企業(yè)網(wǎng)站建設,安平品牌網(wǎng)站建設,網(wǎng)站定制,安平網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,安平網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

一、首先,需要xml中進行少量的配置來啟動Java配置:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"><context:component-scan base-package="SpringStudy.Model"></context:component-scan></beans>

二、定義一個配置類

用@Configuration注解該類,等價 與XML中配置beans;用@Bean標注方法等價于XML中配置bean。

代碼如下:

package SpringStudy;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import SpringStudy.Model.Counter;import SpringStudy.Model.Piano;@Configurationpublic class SpringConfig {@Beanpublic Piano piano(){return new Piano();}@Bean(name = "counter") public Counter counter(){return new Counter(12,"Shake it Off",piano());}}

三、基礎類代碼

Counter:

package SpringStudy.Model;public class Counter {public Counter() {}public Counter(double multiplier, String song,Instrument instrument) {this.multiplier = multiplier;this.song = song;this.instrument=instrument;}private double multiplier;private String song;@Resourceprivate Instrument instrument;public double getMultiplier() {return multiplier;}public void setMultiplier(double multiplier) {this.multiplier = multiplier;}public String getSong() {return song;}public void setSong(String song) {this.song = song;}public Instrument getInstrument() {return instrument;}public void setInstrument(Instrument instrument) {this.instrument = instrument;}}

Piano類

package SpringStudy.Model;public class Piano {private String name="Piano";private String sound;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSound() {return sound;}public void setSound(String sound) {this.sound = sound;}}

四、調(diào)用測試類

package webMyBatis;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import SpringStudy.Model.Counter;public class SpringTest {public static void main(String[] args) {//ApplicationContext ctx = new ClassPathXmlApplicationContext("spring/bean.xml");// 讀取bean.xml中的內(nèi)容ApplicationContext annotationContext = new AnnotationConfigApplicationContext("SpringStudy");Counter c = annotationContext.getBean("counter", Counter.class);// 創(chuàng)建bean的引用對象System.out.println(c.getMultiplier());System.out.println(c.isEquals());System.out.println(c.getSong());System.out.println(c.getInstrument().getName());}}

注意:如果是在xml中配置beans和bean的話,或者使用自動掃描調(diào)用的話,代碼為

ApplicationContext ctx = new ClassPathXmlApplicationContext("spring/bean.xml");// 讀取bean.xml中的內(nèi)容Counter c = ctx.getBean("counter", Counter.class);// 創(chuàng)建bean的引用對象

五、運行結果

12.0falseShake it OffPiano---------------------

到此,相信大家對“Spring中基于Java的@Configuration和@Bean用法是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

文章題目:Spring中基于Java的@Configuration和@Bean用法是什么
網(wǎng)站地址:http://bm7419.com/article42/gegeec.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、建站公司、小程序開發(fā)、網(wǎng)站排名、網(wǎng)站策劃App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設