IOC容器--1.12. 基于 Java 的容器配置

用Java的方式配置Spring ,不使用Spring的XML配置,全权交给Java来做

JavaConfig是Spring的一个子项目,在Sring 4  之后成为核心功能

这种纯Java的配置方式,在SpringBoot中随处可见!

项目结构

 

 配置类

复制代码
@Configuration    // beans   与Component有什么区别   :也会被Spring容器注册,本身也是一个@Component
               //@Configuration代表这是一个配置类,就和之前的beans.xml
@ComponentScan("com.ljm")  //包的扫描
@Import(My_config02.class)  //引入其他的配置类(就可以用它里面的bean了)
public class My_config {
    @Bean  //注册一个bean  相当于beans 里面的bean
           // ID是方法名    class 是函数返回值
    public User getUser01(){
        return new User();   //这个就是返回要注入bean 的对象
    }
    @Bean
    public Teacher getTeacher(){
        return new Teacher();   //这个就是返回要注入bean 的对象
    }
}
View Code
复制代码

实现类?

复制代码
@Component   //说明这个类被Spring 接管了,注册到容器中
public class User {
    private String name;
    private int age;

    public String getName() {
        return name;
    }
    @Value("娃哈哈")  //赋值
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
View Code
复制代码

调用

复制代码
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(My_config.class);
        //纯注解实现     就只能能用AnnotationConfig
        User getUser01 = context.getBean("getUser01",User.class);
        //这个name需要跟之前上面加@bean的方法名一样
        System.out.println(getUser01.getName());

        Teacher getUser02 = context.getBean("getTeacher", Teacher.class);
        //这个name需要跟之前上面加@bean的方法名一样
        System.out.println(getUser02.toString());

        Cat get03 = context.getBean("get_cat", Cat.class);
        //这个name需要跟之前上面加@bean的方法名一样
        System.out.println(get03.toString());
View Code
复制代码

 

posted @   磕伴  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示