BeanUtils.copyProperties 的使用

BeanUtils.copyProperties

这里关于BeanUtils的实际操作
maven依赖
Maven: org.springframework:spring-beans:5.3.2
import org.springframework.beans.BeanUtils;

上代码

在一个用户的实体类里 有这么些属性 User

@Data
public class User{
    private Long id;

    private String username;

    private String password;

    /**
     * 头像
     */
    private String icon;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 昵称
     */
    private String nickName;
}

要实现注册功能 前端传的值建立一个dto

import lombok.Data;
import lombok.ToString;

@Data
@ToString
public class DTO {
    private String username;
    private String password;
}

Controller 接收dto参数 现在要注册的话

@RestController
@RequestMapping("/user")
public class UserController {

	@Autowired
	Service service;

	/**
	 * 注册
	 */
	@PostMapping("/register")
	public String register(@RequestBody DTO dto){

service.register(dto);
		return "sucess";
	}
}

这里先不加service接口了 直接写实现

@Service
public class Service  {

	@Autowired
    Mapper mapper;

/*
这里是加密代码附上  用的crypt
maven 依赖Maven: org.springframework.security:spring-security-crypto:5.3.2.RELEASE
*/
	@Autowired
	private PasswordEncoder passwordEncoder;

	public String register(DTO dto){

		User user= new User();
		// 把数据放到实体类   dto里的属性 user全部有 dto属性不能比user里多 相当于把前端传过来的值在传给这个User 相当与user.setUsername(dto.getUsername())
		BeanUtils.copyProperties(dto,user);

       //加密操作
		String encode = passwordEncoder.encode(dto.getPassword());
      //重新set密码
		user.setPassword(encode);

		//数据注入数据库
		mapper.insert(user);

		return "success";
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值