本篇內容主要講解“Spring中基于Java的@Configuration和@Bean用法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring中基于Java的@Configuration和@Bean用法是什么”吧!
一、首先,需要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;}}
四、調用測試類
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中的內容ApplicationContext annotationContext = new AnnotationConfigApplicationContext("SpringStudy");Counter c = annotationContext.getBean("counter", Counter.class);// 創建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的話,或者使用自動掃描調用的話,代碼為
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring/bean.xml");// 讀取bean.xml中的內容Counter c = ctx.getBean("counter", Counter.class);// 創建bean的引用對象
五、運行結果
12.0falseShake it OffPiano---------------------
到此,相信大家對“Spring中基于Java的@Configuration和@Bean用法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。