美文网首页
spring学习1.1自动装配Bean-初步接触

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

作者: 长脖子树 | 来源:发表于2017-05-27 11:59 被阅读0次

<b>spring 配置bean可选方案

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

<b>自动化装配bean

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

下面我们使用一个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();
    }
}
```

相关文章

网友评论

      本文标题:spring学习1.1自动装配Bean-初步接触

      本文链接:https://www.haomeiwen.com/subject/wwaffxtx.html