Spring学习(5)---IOC容器的常用注解

1、@Component

创建bean的id值,无需指定创建的bean的id值,默认创建的bean的id值为小写的类名,也可以指定bean的id值

@Componen("person"),则指定一个bean的id值

2、@Respository

创建bean的id值,针对的是dao持久层bean的组件

@Respository("person"),则指定一个bean的id值

3、@Service

创建bean的id值,针对的是service服务层(业务层)bean的组件

@Service("person"),则指定一个bean的id值

4、@Controller

创建bean的id值,针对的是web表现层bean的组件

@Controller("person"),则指定一个bean的id值

5、@Value("属性值")

定义在属性字段上 针对的是基本类型和String类型,如果使用了这个注解,则该属性的set方法可以省略不写。

如    @Value("张三")
        private String name; 

6、@Autowired

定义在属性字段上的 针对的是对象类型,如果定义在了那个对象类型的属性身上会自动去spring容器中找该类型的实例对象给赋值。如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false)

7、@Resource或者@Resource(name="xxxxx")  

默认根据名称进行装配,名称可以通过name属性进行指定,
如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称查找。

如果注解写在setter方法上默认取属性名进行装配。 当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。
    public Car getCar() {
        return car;
    }
    //表示当前的参数是来自Car类型的
    @Resource  
    public void setCar(Car car) {
        this.car = car;
    } 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章