Spring boot @Autowired 注解的使用

 

     在Springboot 中@Autowired注解的主要功能是  它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

   但是在使用@Autowired注解之前,我们需要对一个bean使用@Component注解

贴上代码:

@Component 注解使用bean

@Component
public class User {private int id;private String name;public User(int id, String name) {this.id = id;this.name = name;}public User() {}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

@Autowired 使用处 

public class MVCController {@Autowiredprivate User user;public void showUser(){user.setId(1);user.setName("小白");System.out.println (user.getName()+user.getId());}
}

在学习@Autowired注解的时候,遇到了一个问题:

我的User类中有两个构造函数,但是在使用@Autowired注解装配的时候,好像是会默认使用默认构造函数来创建对象,所以返回的user对象值是 

{"id":0,"name":null}

但是我想在创建的时候就附上值,因为初学不是很了解,于是这样解决了这个问题;

public class MVCController {private User user;@Autowiredpublic MVCController(User user){user.setId (2);user.setName ("张无忌");this.user=user;}
}

在使用@Autowired注解得类的构造函数中对user进行赋值 取出来的值是:

{"id":2,"name":"张无忌"}

我不知道有没有更好的方法, 请大神讲解 谢谢。!!!!!!!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部