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

 更新时间:2022年05月30日 14:12:07   作者:把苹果咬哭的测试笔记  
这篇文章主要为大家介绍了Spring IOC容器的Bean管理完全注解开发放弃配置文件,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

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管理的资料请关注脚本之家其它相关文章!

相关文章

  • 解决SpringBoot运行报错:找不到或无法加载主类的问题

    解决SpringBoot运行报错:找不到或无法加载主类的问题

    这篇文章主要介绍了解决SpringBoot运行报错:找不到或无法加载主类的问题,具有很好的参考价值,对大家的学习或工作有一定的参考价值,需要的朋友可以参考下
    2023-09-09
  • Java注解之Retention、Documented、Inherited介绍

    Java注解之Retention、Documented、Inherited介绍

    这篇文章主要介绍了Java注解之Retention、Documented、Inherited注解介绍,本文内容和相关文章是系列文章,需要的朋友可以参考下
    2014-09-09
  • springboot如何通过session实现单点登入详解

    springboot如何通过session实现单点登入详解

    单点登录(SSO)的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面这篇文章主要给大家介绍了关于springboot如何通过session实现单点登入的相关资料,需要的朋友可以参考下
    2021-12-12
  • MyBatis中的limit分页设置

    MyBatis中的limit分页设置

    这篇文章主要介绍了MyBatis中的limit分页设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Spring中的@Aspect注解使用详解

    Spring中的@Aspect注解使用详解

    这篇文章主要介绍了Spring中的@Aspect注解使用详解,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率,需要的朋友可以参考下
    2024-01-01
  • Java的AQS基本原理详细分析

    Java的AQS基本原理详细分析

    这篇文章主要介绍了Java的AQS基本原理详细分析,AQS是Abstract Queued Synchronizer的简称,AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架,本文主要讲解分析其基本原理,需要的朋友可以参考下
    2024-01-01
  • Java设计模式之享元模式(Flyweight Pattern)详解

    Java设计模式之享元模式(Flyweight Pattern)详解

    享元模式(Flyweight Pattern)是一种结构型设计模式,旨在减少对象的数量,以节省内存空间和提高性能,本文将详细的给大家介绍一下Java享元模式,需要的朋友可以参考下
    2023-07-07
  • Java关键字之native详解

    Java关键字之native详解

    这篇文章主要为大家介绍了Java关键字之native,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • java实现停车场系统

    java实现停车场系统

    这篇文章主要为大家详细介绍了java实现停车场系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • Java中ArrayList去除重复元素(包括字符串和自定义对象)

    Java中ArrayList去除重复元素(包括字符串和自定义对象)

    本文主要介绍了Java中ArrayList去除重复元素(包括字符串和自定义对象)的方法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03

最新评论