频道栏目
首页 > 资讯 > 其他 > 正文

Spring之创建bean的方式

18-07-24        来源:[db:作者]  
收藏   我要投稿

1.通过无参构造创建

Bean1.java

package zh.spring.entity;

public class Bean1 {

	// 需要无参构造方法
	public Bean1(){
		
	}
	
	public void fun() {
		System.out.println("bean1...");
	}

}

在src下创建bean1.xml。



	
	
	

Bean1Test.java

package zh.spring.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import zh.spring.entity.Bean1;

public class Bean1Test {

	public static void main(String[] args) {

		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean1.xml");
		
		Bean1 bean11 = (Bean1) applicationContext.getBean("bean1");
		Bean1 bean12 = (Bean1) applicationContext.getBean("bean1");
		
		// scope="singleton",所以创建的对象是单例的
		System.out.println(bean11);// zh.spring.entity.Bean1@3a227c36
		System.out.println(bean12);// zh.spring.entity.Bean1@3a227c36

		bean11.fun();// bean1...
		bean12.fun();// bean1...
		
	}

}

2.通过静态工厂创建

Bean1.java

package zh.spring.entity;

public class Bean1 {

	public Bean1(){
		
	}
	
	public void fun() {
		System.out.println("bean1...");
	}

}

MyFactory1.java

package zh.spring.entity;

/**
 * 静态工厂
 * @author ZH
 */
public class MyFactory1 {
	
	public static Bean1 getBean1(){
		return new Bean1();
	}
	
}

在src下创建bean1.xml。



	
	
	

Bean1Test.java

package zh.spring.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import zh.spring.entity.Bean1;

public class Bean1Test {

	public static void main(String[] args) {

		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean1.xml");
		
		Bean1 bean11 = (Bean1) applicationContext.getBean("bean1");
		Bean1 bean12 = (Bean1) applicationContext.getBean("bean1");
		
		// scope="prototype",所以创建的对象是多例的
		System.out.println(bean11);// zh.spring.entity.Bean1@7f7f557
		System.out.println(bean12);// zh.spring.entity.Bean1@280c26d7

		bean11.fun();// bean1...
		bean12.fun();// bean1...
		
	}

}

3.通过实例工厂创建

Bean1.xml

package zh.spring.entity;

public class Bean1 {

	public Bean1(){
		
	}
	
	public void fun() {
		System.out.println("bean1...");
	}

}

MyFactory2.java

package zh.spring.entity;

/**
 * 实例工厂
 * @author ZH
 */
public class MyFactory2 {
	
	public Bean1 getBean1(){
		return new Bean1();
	}
	
}

在src下创建bean1.xml。



	
	
	
	
	
	
	
	

Bean1Test.java

package zh.spring.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import zh.spring.entity.Bean1;

public class Bean1Test {

	public static void main(String[] args) {

		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean1.xml");
		
		Bean1 bean11 = (Bean1) applicationContext.getBean("bean1");
		Bean1 bean12 = (Bean1) applicationContext.getBean("bean1");
		
		// scope="prototype",所以创建的对象是多例的
		System.out.println(bean11);// zh.spring.entity.Bean1@16ae079
		System.out.println(bean12);// zh.spring.entity.Bean1@fb728a9

		bean11.fun();// bean1...
		bean12.fun();// bean1...
		
	}

}
相关TAG标签
上一篇:找最大或最小的N个元素
下一篇:mysql服务设置远程连接并解决1251clientdoesnotsupport..问题的方法教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站