首页 > 其他 > 详细

Spring 实例化bean的三种方式:

时间:2014-03-07 16:39:47      阅读:336      评论:0      收藏:0      [点我收藏+]

方法一:使用构造器实例化bean

java代码:

bubuko.com,布布扣
package com.model;

public class User {
    
    private String username;
    
    public User(){
        
    }
    
    public User(String username){
        this.setUsername(username);
    }
    
    public void sayHello(){
        System.out.println("hello ");
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}
bubuko.com,布布扣

配置文件:

 <!--方法一:使用构造器实例化bean  -->
  <bean id="user" class="com.model.User"></bean>

测试代码:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
        //方法一:使用构造器实例化bean
        User user = (User)applicationContext.getBean("user");
        user.sayHello();

方法二:使用静态工厂方法实例化bean
java代码:

bubuko.com,布布扣
package com.test;

public class StaticFactory {

    private static StaticFactory staticFactory  = new StaticFactory();
    public static StaticFactory getBean() {
        return staticFactory;
    }
    
    public void say() {
        System.out.println("new Instance!");
    }
}
bubuko.com,布布扣

配置文件:

<!--方法二:使用静态工厂方法实例化bean  -->
  <bean id="staticFactory" class="com.test.StaticFactory" factory-method="getBean"/>

测试代码:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
        
        //方法二:使用静态工厂方法实例化bean
        StaticFactory staticFactory = (StaticFactory)applicationContext.getBean("staticFactory");
        staticFactory.say();

方法三:使用实例工厂方法实例化bean

java代码:

bubuko.com,布布扣
package com.test;

import com.dao.UserDao;
import com.dao.impl.UserDaoImpl;

public class InstanceBean {
    private static UserDao userDaoA = new UserDaoImpl();
    
    //该方法必须是非静态的
    public UserDao getBeanInstance() {
        return userDaoA;
    }
    
}
bubuko.com,布布扣
bubuko.com,布布扣
接口UserDao:
package com.dao;

import com.model.User;

public interface UserDao {
    public void add(User user);
    public void findByid(String id);
}


实现类UserDaoImpl:
package com.dao.impl;

import com.dao.UserDao;
import com.model.User;

public class UserDaoImpl implements UserDao {
    
    private String hello;
    @Override
    public void add(User user) {
        System.out.println("方法三:qwqwqwq!!!");
    }

    @Override
    public void findByid(String id) {
        
    }

    public String getHello() {
        return hello;
    }

    public void setHello(String hello) {
        this.hello = hello;
    }

}
bubuko.com,布布扣

 

配置文件:

<!--方法三:使用实例工厂方法实例化bean  -->
  <bean id="instanceBean" class="com.test.InstanceBean"/>
  <bean id="userDaoA" factory-bean="instanceBean" factory-method="getBeanInstance"></bean>

测试代码:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
        //方法三:使用实例工厂方法实例化bean
        UserDao userDao = (UserDao)applicationContext.getBean("userDao");
        String username = "pppp";
        userDao.add(new User(username));

Spring 实例化bean的三种方式:,布布扣,bubuko.com

Spring 实例化bean的三种方式:

原文:http://www.cnblogs.com/quyanhui/p/3584812.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!