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

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. SpringBoot使用Environment对象封装全部配置信息

    在组件中注入Environment @Autowired private Environment env; // 直接根据key获取值 String tempDir = env.getProperty ...

  2. MySQL搭建主从集群详细步骤~

    一. Docker安装MySQL搭建主从 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] docker run -p 3306:3306 很多 -d --n ...

  3. python操作mongodb实现读写分离

    读写分离 默认情况下,MongoClient 实例将查询发送到副本集的主要成员. 要使用副节点作为查询,以实现读写分离,我们必须更改读取首选项: 读取首选项在模块pymongo.ReadPrefere ...

  4. kubernetes之部署nginx+vue前端(一)

    kubernetes之部署nginx+vue前端(一) k8s系列项目的部署方式之一使用了kubernetes部署nginx+vue前端. 一.打包前端 将dist与Dockerfile放到同一目录下 ...

  5. P1990-覆盖墙壁

    分情况: \[\left\{ \begin{aligned} & 条形 \left\{ \begin{aligned} 横着\\ 竖着\\ \end{aligned}\right. \\ &a ...

  6. Implicit隐式渲染入门 SDF SphereTracing

    Implicit 何为隐式?隐式(Implicit)的是显式(explicit)的反义词. explicit可以简单理解为用网格等信息描述的几何形状,网格信息是离散的,信息量越大描述越精准.Impli ...

  7. C#判断字符串是否是有效的XML格式数据

    说明 在try-catch语句块中,创建XmlDocument对象,并使用LoadXml方法加载xml字符串.如果没有异常,则说明xml字符串是有效的,返回true,反之为false. 代码实现 // ...

  8. linux中nginx下载安装部署

    反向代理 动静结合 负载均衡 下载 wget https://nginx.org/download/nginx-1.24.0.tar.gz 官网下载稳定版 解压 tar -zxvf nginx-1.2 ...

  9. Git使用经验总结3-删除远端提交记录

    目录 1. 问题 2. 解决方案 3. 参考 1. 问题 如果将有问题的代码提交到代码仓库甚至已经push到远端,这个时候就得想办法把提交撤销.一种方案是使用git revert,不过会造成历史记录留 ...

  10. 云图说|分布式事务管理DTM:“买买买”背后的小帮手

    摘要:分布式事务管理DTM通过提供高性能.高可靠.低侵入等核心价值,可以更好的帮助企业应对微服务场景带来的一致性问题. 本文分享自华为云社区<[云图说]第224期 分布式事务管理DTM,&quo ...