Spring-IOC学习笔记-08基于JavaConfig开发

Posted Moon&&Dragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring-IOC学习笔记-08基于JavaConfig开发相关的知识,希望对你有一定的参考价值。

基于JavaConfig开发

通过JavaConfig进行管理bean,需要和注解搭配使用

10.1 核心注解

  • @Configuration : 类级别注解,被它所修饰的类就代表一个配置文件,相当于配置文件中的beans

  • @Bean 方法级别注解,修饰配置类中的每一个方法,代表配置文件中的每一个bean

    方法名代表id,返回值代表bean的类型,传入的参数可以传入其他bean,和注解注入一样,先通过类型,再通过name

  • @ComponentScan 类级别注解,再配置类中添加该注解,可以对指定的类进行扫描,可以扫描出全部的组件,该注解后面加s后的注解可以传入多个扫描

@Configuration
@ComponentScan(basePackages = "com.moon.service")
public class IocConfig {

    @Bean
    public Woman lili(){
        Woman woman = new Woman();
        woman.setName("莉莉");
        woman.setAge(18);
        woman.setOutLook("面容较好的");
        return woman;
    }

    @Bean
    @Scope("prototype")
    public Man jackMa(Woman lili){
        Man man = new Man();
        man.setName("杰克马");
        man.setFund("数百亿");
        man.setWoman(lili);
        return man;
    }
}

10.2 上下文创建

上下文使用的是AnnotationConfigApplicationContext,这里可以在构造器中传入配置文件的类

AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(IocConfig.class);
public class SpringAnnotationTest {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new 	 AnnotationConfigApplicationContext(IocConfig.class);
        String[] beanDefinitionNames = context.getBeanDefinitionNames();
        for (String beanDefinitionName : beanDefinitionNames) {
            System.out.println(beanDefinitionName);
        }
    }
}

以上是关于Spring-IOC学习笔记-08基于JavaConfig开发的主要内容,如果未能解决你的问题,请参考以下文章

Spring-IOC学习笔记-07基于注解开发

Spring-IOC学习笔记-03DI依赖注入

Spring-IOC学习笔记-04扩展命名空间

Spring-IOC学习笔记-01初识

Spring学习笔记之装配Bean

Spring-IOC学习笔记-05bean的属性