本文为博主原创,未经允许不得转载:

Spring注入有以下几种方式:

  1. 构造方法注入:通过构造方法实现依赖注入。在类的构造方法中使用@Autowired注解注入需要的依赖类。
  2. Setter方法注入:通过setter方法实现依赖注入。在类中定义对应的setter方法,并使用@Autowired注解注入需要的依赖类。
  3. 字段注入:直接在类中定义依赖类的字段,并使用@Autowired注解注入需要的依赖类。
  4. 接口注入:通过实现接口实现依赖注入,将需要注入的依赖类定义为接口类型,在类中使用@Autowired注解注入实现该接口的类。
  5. 注解注入:除了@Autowired注解,还可以使用@Inject、@Resource等注解,实现依赖注入。选择哪种注解要根据具体情况来决定。

总的来说,Spring的依赖注入机制可以灵活地应对不同种类的依赖注入需求,提高了代码的可维护性和可重用性。

  1. 构造方法注入:
@Service
public class UserServiceImpl implements UserService { private final UserDao userDao; @Autowired
public UserServiceImpl(UserDao userDao) {
this.userDao = userDao;
} // 业务方法
@Override
public void addUser(User user) {
userDao.addUser(user);
}
}

  

  1. Setter方法注入:

@Service
public class UserServiceImpl implements UserService { private UserDao userDao; @Autowired
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
} // 业务方法
@Override
public void addUser(User user) {
userDao.addUser(user);
}
}
  1. 字段注入:
 

@Service
public class UserServiceImpl implements UserService { @Autowired
private UserDao userDao; // 业务方法
@Override
public void addUser(User user) {
userDao.addUser(user);
}
}
  1. 接口注入:
@Service
public class UserServiceImpl implements UserService { private UserMapper userMapper; @Autowired
public UserServiceImpl(UserMapper userMapper) {
this.userMapper = userMapper;
} // 业务方法
@Override
public void addUser(User user) {
userMapper.addUser(user);
}
}
  1. 注解注入:
@Service
public class UserServiceImpl implements UserService { @Resource
private UserDao userDao; // 业务方法
@Override
public void addUser(User user) {
userDao.addUser(user);
}
}

  可以根据实际需求选择不同的方式进行注入。

spring注入的几种方式的更多相关文章

  1. Spring注入值得2种方式:属性注入和构造注入

    Spring是一个依赖注入(控制反转)的框架,那么依赖注入(标控制反转)表现在那些地方了? 即:一个类中的属性(其他对象)不再需要手动new或者通过工厂方法进行创建,而是Spring容器在属性被使用的 ...

  2. Spring 注入的两种方式

    Spring 的两种注入方式: 1. 属性注入:通过无参构造函数+setter方法注入 2. 构造注入:通过有参的构造函数注入. 优缺点: 1. 属性注入直白易懂,缺点是对于属性可选的时候,很多个构造 ...

  3. spring注入的四种方式

    配置文件spring.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...

  4. Spring中属性注入的几种方式以及复杂属性的注入

    在Spring框架中,属性的注入我们有多种方式,我们可以通过构造方法注入,可以通过set方法注入,也可以通过p名称空间注入,方式多种多样,对于复杂的数据类型比如对象.数组.List集合.map集合.P ...

  5. Spring静态注入的三种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chen1403876161/article/details/53644024Spring静态注入的三 ...

  6. 峰Spring4学习(2)依赖注入的几种方式

    一.装配一个bean 二.依赖注入的几种方式 com.cy.entity   People.java: package com.cy.entity; public class People { pri ...

  7. 普通java类加入spring容器的四种方式

    今天在自己开发的工具类中使用了spring注入的方式调用了其他类,但是发生的报错,在整理了后今天小结一下. 首先简单介绍下spring容器,spring容器是整个spring框架的核心,通常我们说的s ...

  8. Spring管理事物两种方式

    Spring管理事物两种方式 1. 编程式事物管理(在开发中不经常使用) 使用步骤 1. 配置数据库事物管理 DataSourceTransactionManager <!--配置事物管理器-- ...

  9. 预处理(防止sql注入的一种方式)

    <!--- 预处理(预编译) ---><?php/* 防止 sql 注入的两种方式: 1. 人为提高代码的逻辑性,使其变得更严谨,滴水不漏. 比如说 增加判断条件,增加输入过滤等,但 ...

  10. ASP.NET MVC中使用Unity进行依赖注入的三种方式

    在ASP.NET MVC中使用Unity进行依赖注入的三种方式 2013-12-15 21:07 by 小白哥哥, 146 阅读, 0 评论, 收藏, 编辑 在ASP.NET MVC4中,为了在解开C ...

随机推荐

  1. 如何将Swagger接口导入ApiFox

    先按照如下图操作 在apifox创建一个新项目,点击项目 点击导入数据(可以选择手动或者自动) 复制刚才的url,然后立即导入,保存

  2. 异常:Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.qbb.srb.core.mapper.DictMapper.batchInsert

    程序报错:Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com ...

  3. POJ1006、hdu1370

    思路:中国剩余定理.纯粹的用暴力求逆元. 1 #include<iostream> 2 #include<string.h> 3 #include<string> ...

  4. Harbor安装和镜像推送

    安装前提: yum -y install docker-compose-plugin 安装: tar -zxvf harbor-offline-installer-v2.6.1.tgz cd harb ...

  5. 2023年度低代码平台企业TOP50榜单公布—以开源起家的JeecgBoot格外亮眼

    近日,中国科学院主管.科学出版社主办的国家级核心期刊<互联网周刊>联合eNet研究院.德本咨询评选的<2023低代码企业50强>榜单正式公布.这一榜单的公布引起了业内外的广泛关 ...

  6. 编写.NET的Dockerfile文件构建镜像

    创建一个WebApi项目,并且创建一个Dockerfile空文件,添加以下代码,7.0代表的你项目使用的SDK的版本,构建的时候也需要选择好指定的镜像tag FROM mcr.microsoft.co ...

  7. Python——第一章:循环语句while

    循环语句可以让我们的代码重复的去执行 while循环: while 条件:        代码 过程: 判断while循环的条件是否为真, 如果真, 执行代码. 然后再次判断条件.....直到条件为假 ...

  8. BUUCTF Web CyberPunk WriteUp

    想直接查看payload的点这里 前言 二次注入(Second-Order Injection)是指攻击者在应用程序中注入恶意数据,然后在稍后的操作或不同的上下文中再次使用该恶意数据,导致安全漏洞.它 ...

  9. ElasticSearch-2

    原文链接:https://gaoyubo.cn/blogs/cbe60a4d.html 一.DSL查询文档 1.1DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain S ...

  10. 网络地图服务(WMS)详解

    目录 1.概述 2.GetCapabilities 3.GetMap 4.GetFeatureInfo 阅读本文之前可参考前文:<地图服务器GeoServer的安装与配置>与<Geo ...