spring学习1.1自动装配Bean-初步接触

spring 配置bean可选方案

  • 在XML中进行显式配置
  • 在java中进行显式配置
  • 隐式的bean发现机制和自动装配

自动化装配bean

  • 组件扫描:spring自动发现应用上下文(如HttpRequest等外部的变量,类似environment)中
  • 自动装配:spring自动满足bean之间的依赖

下面我们使用一个animal的例子

建立一个接口

public interface IAnimals {
    void say();
}
```
####实现以下接口
>@Component 注解表示表示该类回座位组件类,并告知spring 要为这个类创建bean
但是由于组件扫描默认是不启用的,所以我们还要显式的配置下spring,命令spring去扫描带有这个注解的类,并创建bean
所以我们需要创建一个config.class文件

```
@Component
public class Dog implements IAnimals {
    public void say() {
        System.out.println("wang....");
    }
}
```
注意需要配置一下pom.xml ,加一下依赖的包
####pom.xml 中需要的依赖
```
        
            org.springframework
            spring-context
            4.3.8.RELEASE
        
        
            junit
            junit
            4.12
            test
        
        
            org.springframework
            spring-test
            4.3.8.RELEASE
        
```

####建立AnimalsConfig.class文件,命令spring去扫描带有component注解的文件
注意:这个文件需要和Dog.class放在一个包中,因为只能扫描同一个包下的类
>//自动扫描这个包下带有component注解的类

```
@Configuration
@ComponentScan
public class AnimalsConfig {    
}
```
####测试
>SpringJUnit4ClassRunner:自动创建spring上下文
ContextConfiguration:加载配置
Autowired:bean注入

```
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes =AnimalsConfig.class)
public class TestSpring {
    @Autowired
    private Dog dog1;
    @Test
    public void dogSay(){
        dog1.say();
    }
}
```

你可能感兴趣的:(spring学习1.1自动装配Bean-初步接触)