Spring学习笔记十一---Bean之间的关系@Autowired

Autowired自动装配,Bean之间的关联关系

在Ioc容器里面找有没有跟这个类兼容的Bean,有的话加载
可以用在构造器,普通字段,有参方法
数组类型属性,集合类型属性,Map

required=false不需要装配

@Resource和@inject和 @Autowired类似

package annotation.repository;


public interface UserRepository {
    void save();
}
package annotation.repository;


import org.springframework.stereotype.Repository;
//起名字UserJdbcRepository
@Repository("UserJdbcRepository")
public class UserJdbcRepository implements UserRepository {
    @Override
    public void save() {
        System.out.println("save jdbc ....");
    }
}
package annotation.repository;

import org.springframework.stereotype.Repository;
//起名字UserRepositoryImpl
@Repository("UserRepositoryImpl")
public class UserRepositoryImpl implements UserRepository{
    @Override
    public void save() {
        System.out.println("Impl .....");

    }
}
package annotation.service;

import annotation.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    @Autowired
    @Qualifier("UserRepositoryImpl")  //指定名字
    private UserRepository userRepository;

    //@Autowired
    //@Qualifier("UserRepositoryImpl")
    //也可用在方法上
    public void setUserRepository( UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public void add() {
        System.out.println("UserService add.");
        userRepository.save();
    }
}


你可能感兴趣的:(Spring学习笔记十一---Bean之间的关系@Autowired)