@Service
public class UserService {
public void sayHi(){
System.out.println("hi,UserService..." );
}
}
@Controller // 将对象存储到 Spring 中
public class UserController {
@Autowired
private UserService service;
public void sayHi(){
System.out.println("hi,UserController...");
service.sayHi();
}
}
构造⽅法注⼊
构造⽅法注⼊是在类的构造⽅法中实现注⼊,如下代码所⽰:
@Controller // 将对象存储到 Spring 中
public class UserController {
private UserService service;
@Autowired
public UserController(UserService userService){
this.service = userService;
}
public void sayHi(){
System.out.println("hi,UserController...");
service.sayHi();
}
}
@Component//@Bean要配合类注解使用
public class BeanConfig {
@Bean
public User user1(){
User user = new User();
user.setName("zhangsan");
user.setAge(18);
user.setGender("男");
return user;
}
@Bean
public User user2(){
User user = new User();
user.setName("lisi");
user.setAge(81);
user.setGender("女");
return user;
}
}
@Controller // 将对象存储到 Spring 中
public class UserController {
//注⼊user
@Autowired
private User user;
public void sayHi(){
System.out.println("hi,UserController...");
System.out.println(user);
}
}
@Component
public class BeanConfig {
@Primary
@Bean
public User user1(){
...
}
@Bean
public User user2(){
...
}
}
@Qualifier
@Controller
public class UserController {
//注⼊user
@Autowired
@Qualifier("user2")
private User user;
public void sayHi(){
System.out.println("hi,UserController...");
System.out.println(user);
}
}
@Resource
@Controller
public class UserController {
//注⼊user
@Resource(name = "user2")
private User user;
public void sayHi(){
System.out.println("hi,UserController...");
System.out.println(user);
}
}