- 自动注入
开启组件扫描,在需要注入的变量前加注解@Autowired
config.java
@Configuration
@ComponentScan(basePackages = "cn.tedu.demo")
public class Config {}
worker.java
@Component
public class Worker implements Serializable {
private String name = "初号机";
@Autowired
public Saw saw;
public void work(){
System.out.println(name + "使用" + saw + "砍树" );
}
}
saw.java
@Component
public class Saw implements Serializable {
private String name = "三尖两刃刀";
@Override
public String toString() {
return name;
}
}
执行
@Test
public void testWorkerSaw(){
Worker worker = ctx.getBean("worker",Worker.class);
worker.work();
}
- set方法注入
如果set方法中有逻辑,可以进行运算
@Component
public class Worker implements Serializable {
private String name = "初号机";
public Saw saw;
@Autowired
public void setSaw(Saw saw){
this.saw = saw;
}
public void work(){
System.out.println(name + "使用" + saw + "砍树" );
}
}
其他代码不变