使用Java的方式配置Spring

我们现在要完全不使用Spring的xml配置了,全权交给Java;

javaConfig是Spring的一个子项目,在Spring4之后,它成了一个核心功能。

  1. 编写实体类;

    package com.beyond.pojo;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Controller;
    
    @Controller         //这里的注解的意思,就是说这个类被Spring接管了,注册到容器中
    public class User {
        @Value("小明")
        private String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "name='" + name + '\'' +
                    '}';
        }
    }
    
  2. 编写配置类;

    package com.beyond.configuration;
    
    import com.beyond.pojo.User;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Import;
    
    @Configuration      //@Configuration代表一个配置类,和之前的beans.xml文件功能一样
    @ComponentScan("com.beyond.pojo")
    @Import(AppConfig2.class)       //相当于和之前学的的beans.xml文件中import标签一样
    public class AppConfig {
    
        @Bean       //相当于之前学的bean标签,这个方法的名字,就相当于bean标签中的id属性;   这个方法的返回值,就相当于bean标签中的class属性;
        public User getUser() {
            return new User();      //就是返回要注入的bean的对象
        }
    }
    
    package com.beyond.configuration;
    
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class AppConfig2 {
    }
    
  3. 测试。

    import com.beyond.configuration.AppConfig;
    import com.beyond.pojo.User;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    public class MyTest {
        public static void main(String[] args) {
            //如果完全使用了配置类方式,那就只能通过AnnotationConfig上下文来获取容器,通过配置类的class对象加载!
            ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
            User User = (User) context.getBean("getUser");
            System.out.println(User.getName());
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值