Spring实例化的3种方式
2016-06-21 22:09
381 查看
1、使用类构造器
applicationContext.xml
<bean id="helloBean1" class="com.yourcompany.spring.spring1.HelloBean"/>
HellBean.java
Hello.java
2、使用静态工厂方法
applicationContext.xml
IHello.java
HelloFactory.java
Hello.java
3、使用实例工厂方法
applicationContext.xml
IHello.java
HelloFactory.java
Hello.java
package com.yourcompany.spring.spring3;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Hello{
public static void main(String[] args){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
IHello hello=(IHello)context.getBean("helloBean3");
hello.play();
}
}
applicationContext.xml
<bean id="helloBean1" class="com.yourcompany.spring.spring1.HelloBean"/>
HellBean.java
package com.yourcompany.spring.spring1; public class HelloBean { public void play(){ System.out.println("播放钢琴音乐1..."); } }
Hello.java
package com.yourcompany.spring.spring1; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Hello{ public static void main(String[] args){ ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); HelloBean hello1=(HelloBean)context.getBean("helloBean1"); hello1.play(); } }
2、使用静态工厂方法
applicationContext.xml
<bean id="helloFactory2" class="com.yourcompany.spring.spring2.HelloFactory" factory-method="createHello"/>
IHello.java
package com.yourcompany.spring.spring2; public interface IHello { public void play(); }
HelloFactory.java
package com.yourcompany.spring.spring2; public class HelloFactory { public static IHello createHello(){ return new IHello(){ public void play(){ System.out.println("播放钢琴音乐2..."); } }; } }
Hello.java
package com.yourcompany.spring.spring2; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Hello { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); IHello hello2=(IHello)context.getBean("helloFactory2"); hello2.play(); } }
3、使用实例工厂方法
applicationContext.xml
<bean id="beanFactory" class="com.yourcompany.spring.spring3.HelloFactory" /> <bean id="helloBean3" factory-bean="beanFactory" factory-method="createHello"/>
IHello.java
package com.yourcompany.spring.spring3; public interface IHello { public void play(); }
HelloFactory.java
package com.yourcompany.spring.spring3; public class HelloFactory { public IHello createHello() { return new IHello(){ public void play(){ System.out.println("播放钢琴音乐3..."); }; }; } }
Hello.java
package com.yourcompany.spring.spring3;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Hello{
public static void main(String[] args){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
IHello hello=(IHello)context.getBean("helloBean3");
hello.play();
}
}
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- JavaScript类继承及实例化的方法
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- 监听器获取Spring配置文件的方法
- Java利用Sping框架编写RPC远程过程调用服务的教程
- springmvc 发送ajax出现中文乱码的解决方法汇总
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- 详解Java的MyBatis框架和Spring框架的整合运用
- struts2 spring整合fieldError问题