美文网首页
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