spring的基础应用(1)——定义bean


一、命名一个Bean

1、用id和class定义一个bean

基于xml创建一个spring的bean

<?xml version="1.0" encoding="UTF-8"?>


    
    

其中id是一个字符串,用于表示bean,是唯一的,class是类的全限定名。

在创建一个services.xml和daos.xml
services.xml

<?xml version="1.0" encoding="UTF-8"?>


    

    
        
        
        
    

    


daos.xml

<?xml version="1.0" encoding="UTF-8"?>


    
        
    

    
        
    

    


在测试类里:

 ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");

 System.out.println(context.getBean("dao1"));
 System.out.println(context.getBean("dao2"));
 System.out.println(context.getBean("service"));

我们发现,虽然这三个bean不在一个xml里面,但是service仍然是可以引用dao1和dao2的。

2、用factory-method定义一个bean

看第一个示例,在ClientService中定义了一个静态工厂方法,返回一个clientService对象。

<?xml version="1.0" encoding="UTF-8"?>


    
    

public class ClientService {
    private static ClientService clientService = new ClientService();
    private ClientService() {}

    public static ClientService createInstance() {
        return clientService;
    }
}

第二个示例:

<?xml version="1.0" encoding="UTF-8"?>


    
        
    

    
    


public class UserService {
    private static  UserDao userDao=new UserDao();
    private UserDao createUserDao(){
        return userDao;
    }
}