首页 > 其他分享 >spring 字段注入和构造器注入

spring 字段注入和构造器注入

时间:2024-05-25 10:19:01浏览次数:14  
标签:构造方法 Autowired spring aService 构造 public AService 注入

1.1 属性注入

属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下:

@Service
public class BService {
    @Autowired
    AService aService;
    //...
}

这里是使用 @Autowired 注解注入。另外也有 @Resource 以及 @Inject 等注解,都可以实现注入。

不过不知道小伙伴们有没有留意过,在 IDEA 里边,使用属性注入,会有一个警告⚠️:

不推荐属性注入!

原因我们后面讨论。

1.2 set 方法注入

set 方法注入太过于臃肿,实际上很少使用:

@Service
public class BService {
    AService aService;

    @Autowired
    public void setaService(AService aService) {
        this.aService = aService;
    }
}

这代码看一眼都觉得难受,坚决不用。

1.3 构造方法注入

构造方法注入方式如下:

@Service
public class BService {
    AService aService;
    @Autowired
    public BService(AService aService) {
        this.aService = aService;
    }
}

如果类只有一个构造方法,那么 @Autowired 注解可以省略;如果类中有多个构造方法,那么需要添加上 @Autowired 来明确指定到底使用哪个构造方法。

注入这里三种方式 AService都是交给spring管理了的!https://segmentfault.com/a/1190000040849285

标签:构造方法,Autowired,spring,aService,构造,public,AService,注入
From: https://www.cnblogs.com/zhihongShee/p/18212120

相关文章

  • SpringCloud + Python 混合微服务架构,打造AI分布式业务应用的技术底层
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • SpringMVC进阶-02
    1.请求和响应中多次获取流中数据异常处理SpringMVC请求流中数据只能被使用一次,如果多次使用就会产生异常。如果使用了Post请求传送数据,在DispatcherServlet中doDispatch()中会将数据转换为controller中@RequestBody注解需要的数据,此时使用HttpServletRequest.getInputStream(......
  • 基于SpringBoot的球队训练信息管理系统
    一、系统介绍球队训练信息管理系统:可以方便管理人员对球队训练信息管理系统的管理,提高信息管理工作效率及查询效率,有利于更好的为用户提供服务。主要的模块包括:1、后台功能:管理员角色:首页、个人中心、基础数据管理、公告类型管理、球队类型管理、教练管理、加入的球队......
  • SpringMVC+MyBatis 开发社交网站-27_实现图书更新功能
    实现图书修改更新功能imooc-reader项目:webapp\WEB-INF\ftl\management\book.ftl 图书管理页面<scriptsrc="/resources/layui/layui.all.js"></script><script>   vartable=layui.table;//table数据表格对象   var$=layui.$;//jQuery   var......
  • 【Spring】AOP简介_工作原理_代理模式-静态代理
    1、简介Spring的AOP(AspectOrientedProgramming,面向切面编程)是Spring框架的一个重要部分,它是对OOP(ObjectOrientedProgramming,面向对象编程)的一种补充。在面向对象编程中,我们主要关注的是对象以及它们之间的关系,但在实际开发中,我们还会遇到一些与业务逻辑无关但又需要统一处......
  • 【Spring】spring的IoC概念
    1、IoC的基本概念IoC,即控制反转,是一种设计思想,用于降低代码之间的耦合度。在传统的程序设计中,对象的创建和对象之间的依赖关系通常由对象自身来管理。而在IoC思想中,这种控制权被“反转”了,交由一个外部容器(在Spring中就是IoC容器)来管理。IoC也被称为依赖注入(DependencyInject......
  • SpringMVC+MyBatis 开发社交网站-26_实现图书分页查询
    实现图书分页查询imooc-reader项目:webapp\WEB-INF\ftl\management\book.ftl 图书管理页面<scriptsrc="/resources/layui/layui.all.js"></script><script>   vartable=layui.table;//table数据表格对象   var$=layui.$;//jQuery   varedit......
  • SpringMVC+MyBatis 开发社交网站-25_实现图书新增功能
    实现图书新增功能imooc-reader项目:pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/mav......
  • 【Spring】SpringMVC基本概念
    1、介绍1.1简介SpringMVC是SpringFramework中的一个模块,它基于Java实现了WebMVC设计模式,用于构建Web应用程序。SpringMVC提供了清晰的职责划分,使得开发者能够更加简洁和直观地开发Web层。1.2优点松耦合:基于Spring框架的依赖注入(DI)和面向切面编程(AOP)等特性......
  • 基于Springboot的在线英语阅读分级平台(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的在线英语阅读分级平台(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven+Layui+Elementui来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web......