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

2017-05-27  本文已影响0人  长脖子树

<b>spring 配置bean可选方案

  • 在XML中进行显式配置

<b>自动化装配bean

  • 组件扫描:spring自动发现<b>应用上下文</b>(如HttpRequest等外部的变量,类似environment)中

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

建立一个接口

public interface IAnimals {
    void say();
}
```
####实现以下接口
><b>@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 中需要的依赖
```
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.8.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.3.8.RELEASE</version>
        </dependency>
```

####建立AnimalsConfig.class文件,命令spring去扫描带有component注解的文件
<b>注意:这个文件需要和Dog.class放在一个包中,因为只能扫描同一个包下的类</b>
>//自动扫描这个包下带有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();
    }
}
```
上一篇 下一篇

猜你喜欢

热点阅读