SpringBoot中实现依赖注入功能

今天给大家介绍一下SpringBoot中是如何实现依赖注入的功能。

在以往Spring使用中,依赖注入一般都是通过在Spring的配置文件中添加bean方法实现的,相对于这个方式SpringBoot的实现方式就显得非常便捷了。SpringBoot的实现方式基本都是通过注解实现的。

下面来看一下具体案例,这里我编写了三个测试类用于测试依赖注入到底是否可以正确实现。

TestBiz接口:

package example.biz;
public interface TestBiz {
    public String getTest(String str);
}

TestBizImp接口实现类:

package example.biz.imp;
import example.biz.TestBiz;
import org.springframework.stereotype.Component;
/**
    @Service用于标注业务层组件
    @Controller用于标注控制层组件(如struts中的action)
    @Repository用于标注数据访问组件,即DAO组件
    @Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
 */
@Component
public class TestBizImp implements TestBiz {
    @Override
    public String getTest(String str) {
        return "Return value is:"+str;
    }
}

这里可以看到上面给出了四个注解,这四个注解其实都可以实现注入的功能,可是他们的用途有所不同,最好要根据具体的业务来添加这些注解。

TestController类:

@Controller
public class TestController {
    @Autowired
    private TestBiz testBiz;
    @RequestMapping("/getTest")
    @ResponseBody
    public String getTest(String str){
        return testBiz.getTest(str);
    }
}

这里需要再接口上面添加@Autowired 这个注解,这个注解的功能就是实现TestBiz的实例化操作,等同于Spring中bean操作。

做完这些之后就可以启动项目,测试依赖注入是否已经实现了。运行结果如下所示:

这样SpringBoot就已经实现依赖注入功能了,是不是比Spring的实现过程要简单的多啊!

如果大家想要源代码或者对本文有啥异议都可以加我QQ:208017534  欢迎打扰哦!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维技术迷

CentOS安装Redis、PHPredis扩展

安装Redis [root@qzdev9 conf]# yum -y install redis #安装redis [root@qzdev9 conf]# sy...

3738
来自专栏老码农专栏

使用 maven 生成一个支持端到端自动测试的 RESTful 服务项目脚手架

1924
来自专栏会跳舞的机器人

Spring Cloud(2)——服务提供者

前言: 本文中的注册中心基于Spring Cloud(1)——服务注册中心,请先了解注册中心的相关知识后再阅读本文。

1283
来自专栏吴生的专栏

使用 maven 生成一个支持端到端自动测试的 RESTful 服务项目脚手架

和传统后端页面生成技术相较, RESTful 数据服务专注与数据逻辑, 而将数据呈现完全交给前端应用. 这样做可以让后端开发更加单纯, 而且更容易测试. 本文将...

3545
来自专栏一个会写诗的程序员的博客

《Spring Boot 实战:从0到1》第2章 快速开始Hello World第2章 快速开始Hello World

大约20年前,程序员们使用“企业级Java Bean”(EJB)开发企业应用,需要配置复杂的XML。在二十世纪初期,新兴Java技术——Spring,横空出世。...

531
来自专栏西安-晁州

nodejs的简单爬虫

使用nodejs爬虫豆瓣电影数据,要爬取的页面地址:https://movie.douban.com/top250,简单实现如下: 'use strict'; ...

2370
来自专栏子勰随笔

开发环境通用设置

1595
来自专栏大壮

videocore 和 Swift 混编引发的坑(实战篇)

1897
来自专栏Java Edge

@ConfigurationProperties

2026
来自专栏石奈子的Java之路

原 SpringBoot 2.0 系列00

1884

扫码关注云+社区