用getter和setter将参数传递给类

时间:2019-02-06 09:35:55

标签: java spring-boot

我用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
    }
}

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

如果要动态使用Spring接线,则需要遵循此博客的内容进行操作:

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