属性依赖注入
- 简单的属性注入
@Value注解赋值,提供getter,setter方法以便调用
@Value("张三")
private String name;
public void add() {
System.out.println("userService add..."+name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
测试打印:
- 复杂的属性注入
编写dao接口
package com.itcast.dao;
public interface IUserDao {
public void add();
}
编写IUserDaoImpl实现
package com.itcast.dao;
import com.itcast.annotation.IUserService;
import org.springframework.stereotype.Repository;
@Repository("userDao")
public class IUserDaoImpl implements IUserDao {
@Override
public void add() {
System.out.println("userdao add...");
}
}
复杂属性注入用@Autowired
//复杂属性注入
@Autowired//默认是按照类型进行注入
private IUserDao userDao;
注意:如果要扫描多个包下的注解可以写成以下两种方式:
1.<context:component-scan base-package="com.itcast" />
2. <context:component-scan base-package=“com.itcast.annotation,com.itcast.dao” />
注意:@Value @Autowired它们可以修饰属性,也可以修饰setter方法,如果写在属性上,就不需要提供setter方法。