热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

spring怎么实现依赖注入DI

这篇文章主要介绍了spring怎么实现依赖注入DI的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇spring怎么实现依赖注

这篇文章主要介绍了spring怎么实现依赖注入DI的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇spring怎么实现依赖注入DI文章都会有所收获,下面我们一起来看看吧。

    spring依赖注入DI

    1、创建一个maven项目

    mvn archetype:generate -DarchetypeCatalog=internal

    2、修改pom.xml

    引入需要的依赖,首先spring-context,还是spring-test,最后还有junit。

    
            UTF-8
            4.3.7.RELEASE
        
     
        
            
                junit
                junit
                4.12
                test
            
            
            
                org.springframework
                spring-context
                ${springframework.version}
            
            
            
                org.springframework
                spring-test
                ${springframework.version}
            
     
        
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    
                        1.8
                        1.8
                        utf-8
                    
                
                
                    maven-assembly-plugin
                    3.0.0
                    
                        
                            
                                com.xueyoucto.xueyou.App
                            
                        
                        
                            jar-with-dependencies
                        
                    
                    
                        
                            make-assembly 
                            package 
                            
                                single
                            
                        
                    
                
            
        

    3、添加类Person和Body

    package com.xueyou.demo;
    import org.springframework.stereotype.Component;
    @Component
    public class Person {
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        private String name;
    }
    package org.xueyou.demo;
    import org.springframework.stereotype.Component;
    @Component
    public class Body {
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        private int id;
    }

    4、在配置类App中,添加ComponentScan

    需要注意的是,这里需要指定扫描的包

    package com.xueyou.demo;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    /**
     * Hello world!
     */
    @Configuration
    @ComponentScan(basePackages = {"org.xueyou.demo","com.xueyou.demo"})
    public class App {
        public static void main(String[] args) {
            System.out.println("Hello World!");
        }
    }

    5、新建一个测试类

    package com.xueyou.demo;
    import org.junit.Assert;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.xueyou.demo.Body;
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = App.class)
    public class Springtest {
        @Autowired
        private Body body;
        @Autowired
        private Person person;
        @Test
        public void testBodyIsNull(){
            Assert.assertNotNull(body);
        }
        @Test
        public void testPersonIsNull(){
            Assert.assertNotNull(person);
        }
    }

    6、运行测试类

    结果如下:

    spring怎么实现依赖注入DI

    7、从运行结果中我们能看到

    Person类和Student类已经被依赖注入到spring中,spring能够使用这两个类了。 

    spring-test依赖无法使用问题

    
                org.springframework
                spring-test
                4.3.7.RELEASE
                test
    

    去掉

    test

    关于“spring怎么实现依赖注入DI”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“spring怎么实现依赖注入DI”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程笔记行业资讯频道。


    推荐阅读
    • 深入解析Spring启动过程
      本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
    • 本文详细介绍了如何在Maven项目中配置POM文件以实现JAR和LIB的打包,包括指定主类、跳过单元测试等关键步骤。 ... [详细]
    • 本文详细介绍了如何在Spring Boot项目中配置Maven的pom.xml文件,包括项目的基本信息、依赖管理及构建插件的设置。 ... [详细]
    • 烤鸭|本文_Spring之Bean的生命周期详解
      烤鸭|本文_Spring之Bean的生命周期详解 ... [详细]
    • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
    • 本文详细介绍如何使用 Python 集成微信支付的三种主要方式:Native 支付、APP 支付和 JSAPI 支付。每种方式适用于不同的应用场景,如 PC 网站、移动端应用和公众号内支付等。 ... [详细]
    • 搭建Jenkins、Ant与TestNG集成环境
      本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
    • docker镜像重启_docker怎么启动镜像dock ... [详细]
    • springMVC JRS303验证 ... [详细]
    • 请看|间隔时间_Postgresql 主从复制 ... [详细]
    • EasyMock实战指南
      本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
    • 本文探讨了一个特定于 Spring 4.2.5 的问题,即在应用上下文刷新事件(ContextRefreshedEvent)触发时,带有 @Transactional 注解的 Bean 未能正确代理事务。该问题在 Spring 4.1.9 版本中正常运行,但在升级至 4.2.5 后出现异常。 ... [详细]
    • 最近同事提了一个需求过来,他觉得项目对于第三方日志记录的太多了,只想记录一些业务相关的日志减少对于框架日志的显示。具体要求就是对于框架日志只显示warn等级以上的,而业务日志显示info等级以上 ... [详细]
    • 利用YAML配置Resilience4J的Circuit Breaker
      本文探讨了Resilience4j作为现代Java应用程序中不可或缺的容错工具,特别介绍了如何通过YAML文件配置Circuit Breaker以提高服务的弹性和稳定性。 ... [详细]
    • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
    author-avatar
    廊坊0316慢摇酒吧_196
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有