bean对象的定义
除了@Component外,Spring提供 了3个功能基本和@Component等效的注解
- @Repository用于对DAO实现类进行标注
- @Service用于对Service实现类进行标注
- @Controller用于对Controller实现类进行标注
注意一点:这里使用注释进行生成bean(实例化),里面的名字尽量和类名一样,首字母小写!
示例:
Dao
@Repository(" cus tomerDao" )
public class CustomerDao {
}
service
@Service("customerService")
public class CustomerService{
}
web
@Controller(" custometWebTest")
public class CustometWebTest {
}
Bean属性的依赖注入
- 简单数据类型依赖注入(了解)
Spring3.0后,提供 @Value注解,可以完成简单数据的注入
示例:
@Repository("user")
public class User {
@Value("zdc")
String name;
@Value("22")
int age;
@Autowired
Adress adress;
- 复杂类型数据依赖注入
注解实现属性依赖注入,将注解加在setXxx方法上 或者 属性定义上 !(任选其一,省代码了)依赖注入 dao
第一种: 使用@Value 结合SpEL #{} ---- spring3.0 后用Service层注入dao层
//注入dao
//第一种: value
@Va1ue("#(customerDA0}")
private CustomerDAO customerDAO;
第二种:使用@Autowired 结合 @Qualifier
单独使用@Autowired 按照类型注入
//注入dao
//第二种: autowired,默认通过类型进行注入
@Autowired
private CustomerDAO customerDAO;
使用@Autowired + @ Qualifier 按照名称注入
//注入dag
//第二种: autowired,默认通过类型进行注入
@Autowired
// @Qualifier//按照名称进行注入
@Qualifier(”customerDA0")
private CustomerDAO customerDAO;
第三种: JSR-250标准(jdk) 提供@Resource
//第三种
// @Resource//JSR250
@Resource( name= " customerDAO" )
//注入dao
private CustomerDAO cus tomerDA0;