zoukankan      html  css  js  c++  java
  • 【Spring 从0开始】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 学习。

    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    vue的特点 关键字
    小程序技术实现
    SpringCloud简历模板
    SpringBoot简历模板
    SpringCloud+Eureka快速搭建微服架构
    Docker 面试题
    说说mysql的存储引擎,有什么区别?索引的介绍
    mysql语句
    fail-fast 与 fail-save 机制的区别
    动态规划总结
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/15086645.html
Copyright © 2011-2022 走看看