主要目的:减少不必要的实例对象,更重要的是解开类之间的耦合
在src中创建一个Haha类,并添加到applicationContext.xml中
applicationContext.xml中代码如下:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<bean id="c1" class="com.neuedu.demo1.Haha"></bean>
</beans>
其中id随意起个名字,后面的class需要填写Haha的类路径,这样就可以用spring来管理了
0000000000000分隔符0000000000000
使用方法:
使用ClassPathXmlApplicationContext cp = new ClassPathXmlApplicationContext(“applicationContext.xml”);创建一个cp(不一定必须要用这个名字)对象,
后面通过Haha h1 = (Haha) cp.getBean(“c1”);这个即可不用实例化就得到一个h1对象:
相关代码如下
Haha.java:
package com.neuedu.demo1;
public class Haha {
public Haha(){
System.out.println("创建了一个Haha的实例对象");
}
}
applicationContext.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<bean id="c1" class="com.neuedu.demo1.Haha"></bean>
</beans>
Test1.java:
package com.neuedu.demo1;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test1 {
public static void main(String[] args) {
ClassPathXmlApplicationContext cp = new ClassPathXmlApplicationContext("applicationContext.xml");
Haha h1 = (Haha) cp.getBean("c1");
System.out.println(h1);
}
}
默认以饿汉单例方式管理JavaBean
此方法使用最多
懒汉式单例管理
在第一次创建对象是调用构造方法
非单例式管理