1. 程式人生 > >018 使用@Scope完成bean的作用域的聲明

018 使用@Scope完成bean的作用域的聲明

pre HR onf conf type IT app 完成 context

一 .概述

在spring之中常用的Bean的生命周期常見的有單例模型和多例模型.

我們可以使用@Scope完成聲明.


二 .@Scope

[1]創建組件

public class Car {

}
public class Bike {

}

[2]創建配置類

@Configuration
public class ScopeConfig {
    
    @Bean
    public Car car() {
        return new Car();
    }
    
    @Bean
    @Scope("prototype")
    public Bike bike() {
        return new Bike();
    }
}

[3] 測試類

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ScopeConfig.class)
public class ScopeTest {
    @Autowired
    private ApplicationContext context;
    
    @Test
    public void test1() {
        System.out.println(context.getBean("car") == context.getBean("car"));
        System.out.println(context.getBean("bike") == context.getBean("bike"));
    }

查看運行結果:

true
false

我們通過結果就知道Bean的Scope了.

018 使用@Scope完成bean的作用域的聲明