關(guān)于注入和裝配的應(yīng)用
1.需求背景
總體要求:?jiǎn)T工發(fā)送信息
分解需求:用注入的方式將員工發(fā)消息的類描述清晰
- 員工對(duì)象(Employee)
- 消息接口(IInfoManage)
-
員工消息注入操作(EmployeeSendInfo)
解決思路:通過員工實(shí)現(xiàn)消息接口,增加員工消息注入操作類宠默。
開始解決問題:
根據(jù)需求創(chuàng)建相應(yīng)的對(duì)象
員工對(duì)象(Employee)
image.png
父類:Person
@Entity
public class Person {
private String Name;
private String Phone;
private Date Birthday;
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getPhone() {
return Phone;
}
public void setPhone(String phone) {
Phone = phone;
}
public Date getBirthday() {
return Birthday;
}
public void setBirthday(Date birthday) {
Birthday = birthday;
}
}
信息操作接口:IInfoManage
public interface IInfoManage {
/**
* 信息發(fā)送
*/
public void MessageSend();
/**
* 信息刪除
*/
public void MessageDel();
}
員工類:Employee
@Component
//繼承Person實(shí)現(xiàn)InfoManage方法
public class Employee extends Person implements IInfoManage {
private String Department;
private String Station;
/**
* 所屬部門
* @return
*/
public String getDepartment() {
return Department;
}
public void setDepartment(String department) {
Department = department;
}
/**
* 所屬崗位
* @return
*/
public String getStation() {
return Station;
}
public void setStation(String station) {
Station = station;
}
@Override
public void MessageSend() {
// TODO Auto-generated method stub
System.out.println("Employee MessageSend");
}
@Override
public void MessageDel() {
// TODO Auto-generated method stub
System.out.println("Employee Del");
}
}
EmployeeSendInfo
//用戶發(fā)送消息
@Component
public class EmployeeSendInfo {
private IInfoManage infoManage;
@Autowired
public EmployeeSendInfo(IInfoManage infoManage){
this.infoManage=infoManage;
}
public void SendInfo(){
this.infoManage.MessageSend();
}
}
自動(dòng)配置類 config.java
@Configuration
@ComponentScan
public class CDConfig {
}
測(cè)試
public class test {
ApplicationContext context=new AnnotationConfigApplicationContext(CDConfig.class);
@Test
public void EmployeeSendTest(){
context.getBean(EmployeeSendInfo.class).SendInfo();
}
}
最后結(jié)果:
image.png