利用注解配置Spring容器的方法
本文介紹了利用注解配置Spring容器的方法,分享給大家,具體如下:
@Configuration標(biāo)注在類上,相當(dāng)于將該類作為spring的xml的標(biāo)簽
@Configuration
public class SpringConfiguration {
public SpringConfiguration() {
System.out.println("初始化Spring容器");
}
}
主函數(shù)進(jìn)行測(cè)試
public class Main {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfiguration.class);
}
}
利用注解AnnotationConfigApplicationContext加載ApplicationContext
運(yùn)行結(jié)果如下
信息: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2e5d6d97: startup date [Sat Dec 09 11:29:51 CST 2017]; root of context hierarchy
初始化Spring容器
利用@Bean向容器中添加bean實(shí)例
public class User {
private String username;
private int age;
public User(String username, int age) {
this.username = username;
this.age = age;
}
public void init(){
System.out.println("初始化User...");
}
public void say() {
System.out.println(String.format("Hello,my name is %s,I am %d years old ", username, age));
}
public void destory(){
System.out.println("銷(xiāo)毀User ...");
}
}
@Configuration
public class SpringConfiguration {
public SpringConfiguration() {
System.out.println("初始化Spring容器");
}
//@Bean注解注冊(cè)bean,同時(shí)制定初始化和銷(xiāo)毀的方法
@Bean(name = "user", initMethod = "init", destroyMethod = "destory")
@Scope("prototype")
public User getUser() {
return new User("tom", 20);
}
}
@Bean注解在返回實(shí)例的方法上,如果沒(méi)有指定bean的名字,則默認(rèn)與標(biāo)注的方法名稱相同
@Bean注解默認(rèn)作用域?yàn)閱卫腟ingleton作用域
利用@ComponentScan添加自動(dòng)掃描@Service,@Ripository,@Controller,@Component注解
@Component
public class Cat {
public Cat() {
}
public void say() {
System.out.println("I am a cat" );
}
}
@Configuration
@ComponentScan(basePackages = "com.spring.annotation.ioc")
public class SpringConfiguration {
public SpringConfiguration() {
System.out.println("初始化Spring容器");
}
//@Bean注解注冊(cè)bean,同時(shí)制定初始化和銷(xiāo)毀的方法
@Bean(name = "user", initMethod = "init", destroyMethod = "destory")
@Scope("prototype")
public User getUser() {
return new User("tom", 20);
}
}
利用basePackages掃描包配置路徑
運(yùn)行結(jié)果如下
初始化Spring容器 初始化User... Hello,my name is tom,I am 20 years old I am a cat
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Intellij IDEA 2017新特性之Spring Boot相關(guān)特征介紹
Intellij IDEA 2017.2.2版本針對(duì)Springboot設(shè)置了一些特性,本篇文章給大家簡(jiǎn)單介紹一下如何使用這些特性,需要的朋友參考下吧2018-01-01
JAVA爬蟲(chóng)實(shí)現(xiàn)自動(dòng)登錄淘寶
給大家分享一個(gè)關(guān)于JAVA爬蟲(chóng)的相關(guān)知識(shí)點(diǎn),通過(guò)代碼實(shí)現(xiàn)自動(dòng)登錄淘寶網(wǎng),有興趣的朋友測(cè)試下。2018-04-04
SpringBoot整合SpringSecurity實(shí)現(xiàn)權(quán)限控制之實(shí)現(xiàn)多標(biāo)簽頁(yè)
這篇文章主要介紹了SpringBoot整合SpringSecurity實(shí)現(xiàn)權(quán)限控制之實(shí)現(xiàn)多標(biāo)簽頁(yè),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
Java線程創(chuàng)建靜態(tài)代理模式代碼實(shí)例
這篇文章主要介紹了Java線程創(chuàng)建靜態(tài)代理模式代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法示例
這篇文章主要介紹了Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法,結(jié)合實(shí)例形式分析了java反射機(jī)制獲取注解的具體實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2019-09-09
java將數(shù)據(jù)寫(xiě)入內(nèi)存,磁盤(pán)的方法
下面小編就為大家分享一篇java將數(shù)據(jù)寫(xiě)入內(nèi)存,磁盤(pán)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
java 靜態(tài)工廠代替多參構(gòu)造器的適用情況與優(yōu)劣
這篇文章主要介紹了java 靜態(tài)工廠代替多參構(gòu)造器的優(yōu)劣,幫助大家更好的理解和使用靜態(tài)工廠方法,感興趣的朋友可以了解下2020-12-12
elasticsearch元數(shù)據(jù)構(gòu)建metadata及routing類源碼分析
這篇文章主要為大家介紹了elasticsearch元數(shù)據(jù)構(gòu)建metadata?routing類內(nèi)部源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
Java遍歷Properties所有元素的方法實(shí)例
這篇文章主要介紹了Java如何遍歷Properties所有元素的方法,大家可以參考使用2013-11-11

