使用Java方法配置Spring代碼解析
使用Java的方式配置Spring
我們現(xiàn)在要完全不使用Spring的xml配置,全權(quán)使用Java來配置Spring!
JavaConfig是Spring的一個(gè)子項(xiàng)目,在Spring4之后,他成為了一個(gè)核心功能。
實(shí)體類:
public class User { private String name; public String getName() { return name; } @Value('huba') //屬性注入值 public void setName(String name) { this.name = name; }}
配置類:
package com.kuang.config;import com.kuang.pojo.User;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Import;@Configuration //這個(gè)也會(huì)spring容器托管,注冊(cè)到容器中,因?yàn)樗緛砭褪且粋€(gè)@Component//@Configuration:代表這個(gè)一個(gè)配置類,就等同于beans.xml@ComponentScan('com.kuang.pojo')@Import(MyConfig2.class)public class MyConfig { //注冊(cè)一個(gè)bean,就相當(dāng)于我們之前寫的<bean>標(biāo)簽 //方法名就相當(dāng)于bean標(biāo)簽中的id //方法的返回值就相當(dāng)于bean標(biāo)簽中的class屬性 @Bean public User user(){ return new User();//就是返回要注入bean的對(duì)象 }}
測(cè)試類:
import com.kuang.config.MyConfig;import com.kuang.pojo.User;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class myTest { @Test public void test(){ //如果完全使用配置類方式,只能通過AnnotationConfigApplicationContext獲取容器,通過配置類的class對(duì)象加載! ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class); User user = context.getBean('user', User.class); System.out.println(user.getName()); }}
這種純Java的配置方式,在SpringBoot中隨處可見!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?2. ASP.NET MVC實(shí)現(xiàn)城市或車型三級(jí)聯(lián)動(dòng)3. Python使用Pyqt5實(shí)現(xiàn)簡(jiǎn)易瀏覽器(最新版本測(cè)試過)4. Element ui tree(樹)實(shí)現(xiàn)父節(jié)點(diǎn)選中時(shí)子節(jié)點(diǎn)不選中父節(jié)點(diǎn)取消時(shí)子節(jié)點(diǎn)自動(dòng)取消功能5. 如何在.net6webapi中使用自動(dòng)依賴注入6. 用python登錄帶弱圖片驗(yàn)證碼的網(wǎng)站7. 如何使用瀏覽器擴(kuò)展篡改網(wǎng)頁中的JS 文件8. .NET 6實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例詳解9. python軟件測(cè)試Jmeter性能測(cè)試JDBC Request(結(jié)合數(shù)據(jù)庫(kù))的使用詳解10. java實(shí)現(xiàn)彈球小游戲
