Spring-Java配置版本

依赖


<dependency>
    <groupId>org.springframeworkgroupId>
    <artifactId>spring-contextartifactId>
    <version>5.3.18version>
dependency>

实体类

// @Component:注册到Spring容器中,@Controller、@Repository、@Service功能相同
@Component
// 设置作用域:单例模式
@Scope("singleton")
public class User {
    // @Autowired:注解方式自动注入,required:为true不能为空,为false可以为空
    // @Autowired(required = false)
    // @Qualifier:配合@Autowired使用,指定一个bean注入
    // @Qualifier(value = "user1")
    // @Resource会根据属性名称或属性类型匹配合适的bean
    // 如果名称、类型都不是唯一的可以指定一个bean
    // @Resource(name = "user2")
    private Integer id;
    // @Value赋默认值
    @Value("zhangsan")
    private String name;
    private Integer age;
}

配置类

// @Configuration声明一个配置类,相当于一个xml配置文件
@Configuration
// 扫描包
@ComponentScan("org.example.pojo")
// 引入其他配置类:@Import(MyConfig2.class)
public class MyConfig {
    // 注册一个bean,方法名就是bean的id,返回值就是bean的class
    @Bean
    public User getUser(){
        // 返回一个bean对象
        return new User();
    }
}

测试类

public class ConfigTest {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
        System.out.println(context.getBean("getUser"));
    }
}

你可能感兴趣的:(spring)