使用Java方法配置Spring代碼解析
使用Java的方式配置Spring
我們現(xiàn)在要完全不使用Spring的xml配置,全權(quán)使用Java來(lái)配置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)樗緛?lái)就是一個(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(){
//如果完全使用配置類方式,只能通過(guò)AnnotationConfigApplicationContext獲取容器,通過(guò)配置類的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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決項(xiàng)目沒(méi)有build path的問(wèn)題
這篇文章主要介紹了解決項(xiàng)目沒(méi)有build path的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
SpringBoot實(shí)現(xiàn)API接口多版本支持的示例代碼
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)API接口多版本支持的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
記錄jdk21連接SQLServer因?yàn)門LS協(xié)議報(bào)錯(cuò)問(wèn)題
在使用Druid連接池連接SQL Server時(shí),可能會(huì)遇到因TLS版本不匹配導(dǎo)致的連接失敗問(wèn)題,具體表現(xiàn)為客戶端使用TLS1.3或TLS1.2,而SQL Server僅支持TLS1.0,導(dǎo)致無(wú)法建立安全連接,解決方法是修改JDK的安全配置,啟用TLS1.02024-10-10
MyBatis中resultMap和resultType的區(qū)別詳解
這篇文章主要介紹了MyBatis中resultMap和resultType的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

