繁体   English   中英

使用 getter 和 setter 将参数传递给类

[英]passing param to class with getter and setter

我创建了一个带有 getter 和 setter 方法的类,并且将值传递给该类的对象而不调用 setter 方法。

但是没有构造函数我不能传递任何参数。

当我使用构造函数时它正在工作。

//
@Entity
public class player {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "Player_Id")
    private  String id;
    @Column(name = "PlayerName")
    private String PlayerName;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPlayerName() {
        return PlayerName;
    }

    public void setPlayerName(String PlayerName) {
        this.PlayerName = PlayerName;
    }
}

@Service
public class playerservice {

    @Autowired
    List<player> list ;

    public playerservice(){
        list.add(new player("1","vijay"));//not able to pass parameters
    }
}

我无法通过传递值来创建对象

为什么你对这个构造函数不满意?

public player(String player_id, String player_name){
    this.player_id = player_id;
    this.name = player_name
}

构造是通知您的类如何实例化对象的方式。 该类需要明确知道您使用这些构造函数传递的数据类型。 您可以根据自己的方便创建多个构造函数。 但是,如果您没有编写任何构造函数,则每个类都有一个默认构造函数,但没有为您传递任何值。

您似乎正在尝试以一种不适合使用的方式使用 Spring 依赖注入(即接线)。 Spring 不会也不能使用new将参数注入在您的代码中构造的对象中。

如果你想动态地使用 Spring 接线,你需要按照这个博客的思路做一些事情:

如您所见,有几行代码设置了所有内容。 一旦你设置了上下文,你就对 Spring 说“让我成为一个 bean”,它会做一大堆反射魔法来构造 bean,并向它传递将连接到它的参数。 它可能比使用new和传递参数的简单 Java 解决方案慢 2 到 3 个数量级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM