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":"张无忌"}
我不知道有没有更好的方法, 请大神讲解 谢谢。!!!!!!!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!