spring中属性依赖注入

属性依赖注入

  1. 简单的属性注入
    @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;
    }

测试打印:
在这里插入图片描述

  1. 复杂的属性注入
    编写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方法。

猜你喜欢

转载自blog.csdn.net/Marion158/article/details/85342952