spring注入的几种方式
本文为博主原创,未经允许不得转载:
Spring注入有以下几种方式:
- 构造方法注入:通过构造方法实现依赖注入。在类的构造方法中使用@Autowired注解注入需要的依赖类。
- Setter方法注入:通过setter方法实现依赖注入。在类中定义对应的setter方法,并使用@Autowired注解注入需要的依赖类。
- 字段注入:直接在类中定义依赖类的字段,并使用@Autowired注解注入需要的依赖类。
- 接口注入:通过实现接口实现依赖注入,将需要注入的依赖类定义为接口类型,在类中使用@Autowired注解注入实现该接口的类。
- 注解注入:除了@Autowired注解,还可以使用@Inject、@Resource等注解,实现依赖注入。选择哪种注解要根据具体情况来决定。
总的来说,Spring的依赖注入机制可以灵活地应对不同种类的依赖注入需求,提高了代码的可维护性和可重用性。
- 构造方法注入:
@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);
}
}
- 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);
}
}
- 字段注入:
@Service
public class UserServiceImpl implements UserService { @Autowired
private UserDao userDao; // 业务方法
@Override
public void addUser(User user) {
userDao.addUser(user);
}
}
- 接口注入:
@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);
}
}
- 注解注入:
@Service
public class UserServiceImpl implements UserService { @Resource
private UserDao userDao; // 业务方法
@Override
public void addUser(User user) {
userDao.addUser(user);
}
}
可以根据实际需求选择不同的方式进行注入。
spring注入的几种方式的更多相关文章
- Spring注入值得2种方式:属性注入和构造注入
Spring是一个依赖注入(控制反转)的框架,那么依赖注入(标控制反转)表现在那些地方了? 即:一个类中的属性(其他对象)不再需要手动new或者通过工厂方法进行创建,而是Spring容器在属性被使用的 ...
- Spring 注入的两种方式
Spring 的两种注入方式: 1. 属性注入:通过无参构造函数+setter方法注入 2. 构造注入:通过有参的构造函数注入. 优缺点: 1. 属性注入直白易懂,缺点是对于属性可选的时候,很多个构造 ...
- spring注入的四种方式
配置文件spring.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...
- Spring中属性注入的几种方式以及复杂属性的注入
在Spring框架中,属性的注入我们有多种方式,我们可以通过构造方法注入,可以通过set方法注入,也可以通过p名称空间注入,方式多种多样,对于复杂的数据类型比如对象.数组.List集合.map集合.P ...
- Spring静态注入的三种方式
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chen1403876161/article/details/53644024Spring静态注入的三 ...
- 峰Spring4学习(2)依赖注入的几种方式
一.装配一个bean 二.依赖注入的几种方式 com.cy.entity People.java: package com.cy.entity; public class People { pri ...
- 普通java类加入spring容器的四种方式
今天在自己开发的工具类中使用了spring注入的方式调用了其他类,但是发生的报错,在整理了后今天小结一下. 首先简单介绍下spring容器,spring容器是整个spring框架的核心,通常我们说的s ...
- Spring管理事物两种方式
Spring管理事物两种方式 1. 编程式事物管理(在开发中不经常使用) 使用步骤 1. 配置数据库事物管理 DataSourceTransactionManager <!--配置事物管理器-- ...
- 预处理(防止sql注入的一种方式)
<!--- 预处理(预编译) ---><?php/* 防止 sql 注入的两种方式: 1. 人为提高代码的逻辑性,使其变得更严谨,滴水不漏. 比如说 增加判断条件,增加输入过滤等,但 ...
- ASP.NET MVC中使用Unity进行依赖注入的三种方式
在ASP.NET MVC中使用Unity进行依赖注入的三种方式 2013-12-15 21:07 by 小白哥哥, 146 阅读, 0 评论, 收藏, 编辑 在ASP.NET MVC4中,为了在解开C ...
随机推荐
- 如何将Swagger接口导入ApiFox
先按照如下图操作 在apifox创建一个新项目,点击项目 点击导入数据(可以选择手动或者自动) 复制刚才的url,然后立即导入,保存
- 异常: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 ...
- POJ1006、hdu1370
思路:中国剩余定理.纯粹的用暴力求逆元. 1 #include<iostream> 2 #include<string.h> 3 #include<string> ...
- Harbor安装和镜像推送
安装前提: yum -y install docker-compose-plugin 安装: tar -zxvf harbor-offline-installer-v2.6.1.tgz cd harb ...
- 2023年度低代码平台企业TOP50榜单公布—以开源起家的JeecgBoot格外亮眼
近日,中国科学院主管.科学出版社主办的国家级核心期刊<互联网周刊>联合eNet研究院.德本咨询评选的<2023低代码企业50强>榜单正式公布.这一榜单的公布引起了业内外的广泛关 ...
- 编写.NET的Dockerfile文件构建镜像
创建一个WebApi项目,并且创建一个Dockerfile空文件,添加以下代码,7.0代表的你项目使用的SDK的版本,构建的时候也需要选择好指定的镜像tag FROM mcr.microsoft.co ...
- Python——第一章:循环语句while
循环语句可以让我们的代码重复的去执行 while循环: while 条件: 代码 过程: 判断while循环的条件是否为真, 如果真, 执行代码. 然后再次判断条件.....直到条件为假 ...
- BUUCTF Web CyberPunk WriteUp
想直接查看payload的点这里 前言 二次注入(Second-Order Injection)是指攻击者在应用程序中注入恶意数据,然后在稍后的操作或不同的上下文中再次使用该恶意数据,导致安全漏洞.它 ...
- ElasticSearch-2
原文链接:https://gaoyubo.cn/blogs/cbe60a4d.html 一.DSL查询文档 1.1DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain S ...
- 网络地图服务(WMS)详解
目录 1.概述 2.GetCapabilities 3.GetMap 4.GetFeatureInfo 阅读本文之前可参考前文:<地图服务器GeoServer的安装与配置>与<Geo ...