不通过setter方法改变私有变量值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bbbbln/article/details/62459505

Spring源码发现了BeanWrapper

package com.sts.web;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.PropertyAccessorFactory;

public class LearnBeanWrapper {

    private Logger log = LoggerFactory.getLogger(LearnBeanWrapper.class);

    public void wrap() {

        User user = new User();
        BeanWrapper bw = PropertyAccessorFactory.forBeanPropertyAccess(user);
        bw.setPropertyValue("userName", "Miss White");
        log.info(user.getUserName());

        bw.setPropertyValue("userName", "Shit");
        log.info(user.getUserName());

    }

}

class User {

    private String userName;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

}

猜你喜欢

转载自blog.csdn.net/bbbbln/article/details/62459505