BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml") ;
在利用Spring的时候我们经常能要写上边这段代码
但是有些粗心的程序员 会毫无考虑的 在程序中写成上边那样 写的地方无外乎构造函数 或者程序里边用到的地方 殊不知这样写 很可能会造成JVM栈区溢出 原因很简单 new ClassPathXmlApplicationContext("applicationContext.xml") ; 就是给所有的工厂管理BEAN分配内存 而如果上边代码不是单例或者使用该段代码的类不是单例 那就不停的给所配置BEAN分配内存 如果HIBERNATE的SessionFactory也交由SPRING 管理 那么ENTITY就更加耗费内存了
所以好的习惯是 将factory设置为单例模式 或者将使用BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml") ;的类设置为单例 比如如果BeanFactory是依靠WEB.XML初始化的 那么他默认就是单例的
分享到:
- 2009-01-12 11:43
- 浏览 3122
- 评论(5)
- 论坛回复 / 浏览 (5 / 5167)
- 查看更多
相关推荐
例如,`new ClassPathXmlApplicationContext("beans.xml")`。 2. **读取配置文件**:在内部,`ClassPathXmlApplicationContext`使用`Resource`接口从类路径中获取XML配置文件。`Resource`对象封装了对资源的访问,...
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("spring/applicationContext.xml"); ctx.start(); // ContextStartedEvent 发生 ctx.refresh(); // ContextRefreshedEvent 发生 ctx.stop...
ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","dao.xml"}); 或者用通配符: ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/*....
在本篇博文中,我们将深入探讨Spring框架的基础知识,特别是关注如何自己编写一个`ClassPathXmlApplicationContext`类。`ClassPathXmlApplicationContext`是Spring框架中用于加载和管理配置元数据的核心类,它允许...
例如,我们通常会创建如`new ClassPathXmlApplicationContext("beans.xml")`这样的实例,其中"beans.xml"是定义bean配置的文件。它会扫描指定的类路径下所有符合的XML配置文件,并将其中的bean定义加载到上下文中。 ...
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); ``` 获取容器中的Bean,可以通过`getBean`方法: ```java MyService myService = (MyService) context.getBean("myService"); ``...
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationProvider.xml" }); context.start(); System.in.read(); } } ``` 5. **服务消费**:在客户端,配置...
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); (2)ApplicationContext context = new FileSystemXmlApplicationContext ("applicationContext.xml"); 一般用第...
ApplicationContext ac = new ClassPathXmlApplicationContext("spring/applicationContext-jms-producer.xml"); //获取生产者发送消息服务接口 MessageSender messageSender = (MessageSender)ac.getBean...
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); ``` **Bean 的配置** Bean 的配置通常在 XML 文件中完成,比如 `beans.xml`。在这个文件中,我们可以定义 Bean 的 ID、类名以及...
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); //输出spring容器 System.out.println(ctx); //打印加载的bean名称 System.out.println(java.util.Arrays....
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"classpath:/additional-configs/*.xml"}); applicationContext.getAutowireCapableBeanFactory().registerSingleton...
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); ``` - 注解配置方式:使用`AnnotationConfigApplicationContext`,传入包含@Configuration注解的类的全限定名: ...
例子简单的实现了spring结合mongo的例子 ...通过ApplicationContext applicationContext = new ClassPathXmlApplicationContext("mongo.xml");加载方式:App.java 3.列出log日志的java代码获取方式
在 web 应用中一般用 ContextLoaderListener 加载 webapplication,如果需要在 action 之外或者 control 类之外获取 webapplication,可以使用以下思路:单独写个类放在 static 变量中,类似于: `public class App...
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); MyEntity myEntity = (MyEntity) context.getBean("myEntity"); ``` 2. **SSH框架中的bean管理** 在SSH框架中,Spring作为IoC...
例如,`new ClassPathXmlApplicationContext("bean.xml")`会查找类路径下的"bean.xml"文件来初始化容器。可以同时加载多个配置文件,只需将文件名放在字符串数组中传入构造函数即可。 - **...
ApplicationContext context = new ClassPathXmlApplicationContext("conf/application-context.xml"); ``` 在这行代码中,"conf/application-context.xml"表示配置文件相对于classpath的路径。Spring会使用当前...
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); 在上面的代码中,bean.xml是Spring配置文件,用于定义Bean。Bean是Spring中的基本单位,在基于Spring的Java EE工程中,所有的组件都被...