Spring IOC容器Bean管理的完全注解开发放弃配置文件

2022-11-13 09:11:40 注解 容器 配置文件

ioC容器基于Bean管理的完全注解开发放弃配置文件

通过注解的方式,我们不需要在xml配置文件里进行各种注入配置,只需要开启扫描即可。

那如果开启扫描也能通过注解方式,那不就完全不需要配置文件了么?

创建配置类

创建配置类,替代 xml 配置文件。

package com.pingguo.spring5.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan(basePackages = {"com.pingguo.spring5"})
public class SprinGConfig {
}

配置类中需要注意的:

@Configuration:类名你可以随便起,但是想让spring识别出这是配置类,需要加这个注解。

@ComponentScan:这个注解就是扫描用,后面参数值是你指定的路径。

测试一下

之前测试函数里是读取配置文件的,现在我把配置文件删掉了,要怎么处理?

public class TestService {
    @Test
    public void testService() {
        ApplicationContext context
                = new AnnotationConfigApplicationContext(SpringConfig.class);
        UserService userService = context.getBean("userService", UserService.class);
        System.out.println(userService);
        userService.add();
    }
}

就是使用 AnnotationConfigApplicationContext,后面括号里是配置类。

其他几个层的类代码都不变,并且已经删掉xml配置文件了。

现在运行测试方法:

com.pingguo.spring5.service.UserService@72a7c7e0
service add() ... ...
spring 从0开始
UserDao UserDaoImpl2 add()... ...
Process finished with exit code 0

运行正常,结果与之前使用xml配置文件时一致。

不过这种完全注解开发,在实际操作中是用到另一种结构,就是Spring Boot

虽然 SpringBoot 我之前就有过一些学习,但就是个入门都不到,很多东西能用但不知道为什么。就拿这些注解来说,学了spring 我才知道的清楚些。所以,待 spring 学完,就开启 springboot 学习,更多关于Spring IOC Bean管理的资料请关注其它相关文章!

相关文章