JavaConfig配置Spirng

118 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第40天,点击查看活动详情

JavaConfig 原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 。

官方文档:docs.spring.io/spring/docs…

编写一个实体类,Dog

@Component  //将这个类标注为Spring的一个组件,放到容器中!
public class Dog {
    public String name = "dog";
}

新建一个config配置包,编写一个MyConfig配置类

@Configuration  //代表这是一个配置类
public class MyConfig {

    @Bean //通过方法注册一个bean,这里的返回值就Bean的类型,方法名就是bean的id!
    public Dog dog(){
        return new Dog();
    }

}

测试

@Test
public void test2(){
    ApplicationContext applicationContext =
            new AnnotationConfigApplicationContext(MyConfig.class);
    Dog dog = (Dog) applicationContext.getBean("dog");
    System.out.println(dog.name);
}

导入其他配置如何做呢

我们再编写一个配置类

@Configuration  //代表这是一个配置类
public class MyConfig2 {
}

在之前的配置类中我们来选择导入这个配置类

@Configuration
@Import(MyConfig2.class)  //导入合并其他配置类,类似于配置文件中的 inculde 标签
public class MyConfig {

    @Bean
    public Dog dog(){
        return new Dog();
    }
}

image-20200116213417021

总结

一般我们配置Spring可以通过配置文件配置,xml方式注入。后者已经渐渐过时,只有在SSM项目是比较流行的。而在当前的主流框架中采用的就是约定大于配置的配置方式,采用配置文件对Spring项目进行配置,而JavaConfig配置也是现阶段十分常见的,虽然十分简单但是没接触过的人还是会一头雾水(当年我就是)。

  1. Configuration代表是一个配置类。
  2. @Bean相当于xml的bean标签。
  3. 方法名就是id,方法返回的类就是class。