在spring ioc中加载sessionFactory的bean有什么用

在spring ioc中加载sessionFactory的bean有什么用,,在测试类中就不用new对象了吗?

3个回答

Hibernate 框架的操作均依赖与sessionFactory。最佳实践是由spring去管理。
当然你也可以不依赖与spring框架自己管理sessionFactory。
演示项目参考 https://gitee.com/00fly/java-code-frame/tree/master/hbn-spring
目录 com.fly.main.hibernate 演示hibernate独立管理 sessionFactory。

目录 com.fly.spring 以及beans-config.xml 演示spring管理 sessionFactory ,这里使用 HibernateTemplate操作对象。

做为对比

https://gitee.com/00fly/java-code-frame/tree/master/springmvc-hbn 演示使用 Session 操作对象。

回答完毕!

一旦在Spring的IoC容器中配置了SessionFactory Bean,它将随应用的启动而加载,并可以充分利用IoC容器的功能,将 SessionFactory Bean注入任何Bean

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring源码阅读(1)- ioc依赖注入之bean加载
还是先看下DefaultListableBeanFactory的类结构图  我们从User user = (User) beanFactory.getBean("user");入手进入bean的加载管理流程。 这里还是坚持走主线的流程,去掉无关的枝叶,尽量让业务变得简单。 开始进入代码,首先我们跟到AbstractBeanFactory这个类下面的doGetBean protecte...
Spring Ioc 是怎么加载bean的
我的代码中有这么一句: ApplicationContext ctx=new ClassPathXmlApplicationContext("spring-mybatis.xml"); 今天,我想弄懂spring是怎么加载.xml文件,然后找到bean的。 首先点进去,看看ClassPathXmlApplicationContext的源码 public ClassPathXmlA...
spring ioc之bean的加载流程(一)
spring ioc之bean的加载流程(一)源码解析参考 源码解析参考 spring ioc之bean的加载流程的源码详情博客可以参考以下链接。http://cmsblogs.com/?p=2806 本篇博客流程图,将对应上述博客的《【死磕 Spring】—– IOC 之开启 bean 的加载》到《【死磕 Spring】—– IOC 之分析各 scope 的 bean 创建》,可以参照以下流程图...
Spring:Ioc中Bean的配置
1.1配置元数据:需要向Spring容器提供相关的信息,以便实例化Bean并指定如何对这些Bean进行装配,提供的信息被称为配置元数据。Spring容器通过获取应用程序编写的类和配置元数据相结合,来创建和装配Bean。Spring容器通过了传统格式的XML配置,基于注解的配置和基于Java的配置。以下文章将学习基于XML的配置。1.2Bean的配置Spring Ioc容器的目的就是管理Bean,这...
spring Ioc bean 容器
spring容易对于bean的配置,以及spring ioc技术的实现的讲解!
Spring的IOC及bean的装配
Spring:     轻量级的开源框架;通过控制反转的技术达到松耦合的目的;提供面向切面编程的支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发;包含并管理应用对象的配置和生命周期。   IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护。 DI:依赖注入,分为设值注入和构造注入。     设值注入:自动调用set方法。在Us
spring Ioc的bean的学习笔记
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springfra
Spring源码阅读——简单模拟Spring的控制反转IOC和依赖注入(Bean的加载和获取)
package bean.modeled; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * Created by yuyufeng on 2016/11/18. */ public cla
Spring IOC加载全过程
最近看到一位大神的博客,写的那叫一个详细,自己看了一遍之后想把自己看到的整理一份出来,以后可以随时查阅复习。 首先上几张图: 上面几张图片(来源于网络)大家应该都看过或者大概知道,接下来开始分析ioc的加载过程: ** 首先 **一般开始都是这样一句代码: ApplicationContext context = new ClassPathXmlApplicationContext(&amp;amp;amp;amp;amp;amp;amp;quot;cla...
Spring IOC加载总结
详细的加载过程可以查看:https://blog.csdn.net/u010597819/article/details/86646227 准备环境:各种环境变量,properties配置加载 创建应用上下文:根据环境选择以哪种上下文类型创建 刷新应用上下文 获取Bean工厂:创建DefaultListableBeanFactory 回调当前上下文中已注册的注册中心及工厂后置动作:即Bean...
spring配置文件加载sessionFactory的问题
我的web.xml有一个istener:rnrnorg.springframework.web.context.ContextLoaderListenerrnrnrnrnweb.xml加载了applicationContext_hibernate.xml文件rnrn contextConfigLocationrnrn rn rn /WEB-INF/classes/applicationContext_hibernate.xmlrn rn rn rnrn以下是applicationContext_hibernate.xmlrnrnrnrnrnrn rn rn java:comp/env/jdbc/StudentManagerrn rn rn rn rn rn rn rn rn rn rn org.hibernate.dialect.MySQL5Dialectrn rn truern truern rn org.hibernate.cache.HashtableCacheProviderrn rn rn rn rn rn classpath:/domainrn rn rn rn rn rn rn rn rn rn rn rn rnrnrnrn我现在调试的,只要把sessionFactory那一部分加上,tomcat就说rn严重: Error listenerStartrn2007-1-17 14:24:29 org.apache.catalina.core.StandardContext startrn严重: Context [/StudentManager] startup failed due to previous errorsrn2007-1-17 14:24:30 org.apache.coyote.http11.Http11BaseProtocol startrnrn把去掉就正常了,请问,我的配置文件有什么错误吗?rn
Spring ioc详解,IOC控制反转对象bean
Spring ioc详解 IOC:控制反转-对象 1      程序对象由原来本身程序自己创建,变为spring容器来创建。现在程序只能被动接受。什么时候创建的bean对象。当读取核心配置文件的时候,就创建了该对象!对象的生命周期完全由spring掌控! 2      使程序员只关注业务处理,而不需要关注对象的创建! 3      Ioc能够实现程序的解耦!降低程序的耦合度!
求助:spring加载sessionFactory报错
tomcat启动时报错,信息如下:rnith the Partitioning, OLAP, Data Mining and Real Application Testing optionsrn18:08:11,585 INFO SettingsFactory:115 - JDBC driver: Oracle JDBC driver, version: 9.2.0.1.0rn18:08:11,726 INFO Dialect:175 - Using dialect: org.hibernate.dialect.Oracle10gDialectrn18:08:11,945 WARN SettingsFactory:126 - Could not obtain connection metadatarnjava.sql.SQLException: Unsupported featurern at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)rn at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)rn at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)rn at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689)rn at oracle.jdbc.OracleDatabaseMetaData.supportsGetGeneratedKeys(OracleDatabaseMetaData.java:4180)rn at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:123)rn at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)rn at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)rn at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)rn at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)rn at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)rn at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)rn at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)rn at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)rn at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)rn at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)rn at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)rn at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:285)rn at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)rn at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)rn at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)rn at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)rn at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)rn at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)rn at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)rn at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)rn at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)rn at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)rn at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)rn at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)rn at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)rn at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)rn at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)rn at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)rn at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)rn at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)rn at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)rn at org.apache.catalina.core.StandardService.start(StandardService.java:516)rn at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)rn at org.apache.catalina.startup.Catalina.start(Catalina.java:593)rn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)rn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rn at java.lang.reflect.Method.invoke(Method.java:585)rn at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)rn at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)rn18:08:11,960 DEBUG DataSourceUtils:312 - Returning JDBC Connection to DataSourcern18:08:11,991 INFO TransactionFactoryFactory:59 - Using default transaction strategy (direct JDBC transactions)rnrnspring 配置文件为:rnrnrnrn rn rn rn classpath:/db.propertiesrn rn rn rn rn rn $oracle.driverrn rn rn $oracle.urlrn rn rn $oracle.usernamern rn rn $oracle.passwordrn rn rn rn rn rn rn insurance.agent.model.Userrn rn rn rn rn rn org.hibernate.dialect.Oracle10gDialectrn truern truern 50rn truern rn rn rn rn rn rn rnrnrndb.properties 信息如下:rnoracle.driver=oracle.jdbc.driver.OracleDriverrn##oracle.url=jdbc:oracle:thin:@10.0.9.130:1521:oraclernoracle.url=jdbc:oracle:thin:@//10.0.9.130:1521/oraclernoracle.username=proxyuserrnoracle.password=123456rnrn数据库使用的是11g.rnhibernate 使用的是3.2, spring的版本为2.08.rn尝试过直接在java类中写jdbc连接数据,可以连接成功,并能读取数据。rnrn求高手帮忙看看报错是什么原因引起的??? 谢谢。。。。rn
Spring中bean的加载过程
1.获取配置文件资源: 通过 ResourceLoader 来完成资源文件位置的定位,DefaultResourceLoader 是默认的实现, 同时上下文本身就给出了 ResourceLoader 的实现,可以从类路径、文件系统, URL 等方式 来定为资源位置。 2.对bean定义信息的解析: 容器通过 BeanDefinitionReader 来完成 bean 定义信息的解析,使 用的是...
spring中bean的加载1
BEAN的加载 通过对于前面的了解,基本上对于Xml配置文件的加载和解析有一个粗略的了解。如果需要详细的了解,可以再结合郝佳编著的《spring源码深度解析》一书相关内容,可以参考着并且编著一些实例。 对于bean的加载的功能可能比bean的解析要 复杂的多。   对于加载bean,这里还是以刚开始的代码: ApplicationContext context =newClassPath
Spring中bean加载的过程
我们直接看AbstractApplicationContext.java中的方法,bean加载的过程如图,主要有下面的几个步骤 其实这里可以简化成 1、读取配置文件,获取所有的bean定义(单例,class,构造器,成员变量) 2、提供可以修改beanfactory和bean定义的接口(便于扩展)。 3、初始化bean(使用递归的方式)。...
spring IoC——注入bean实例
在spring中IoC容器占据了很核心的功能,通过IoC容器可以完全 管理java Bean ,包括创建,销毁,还可以对数据库的java Bean进行自动化的事务处理,IoC的容器是实现了BeanFctory接口的实现类,ApplicationContext是BeanFactory的子接口,BeanFactory接口提供了最基本的对象管理功能,子接口AplicationContext提供了更多的功...
Spring IOC容器中Bean的生命周期
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SpringIOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务。 Spring IOC容器对Bean的生命周期进行管理的过程: 通过构造器或工厂方法创建Bean的实例 为Bean的属性设置值和对其他Bean的引用 调用Bean的初始化方法(也就是配置文件的method-init属性) 使用bean,执...
spring的IOC 容器管理 Bean
Bean 实例化的方式: 1.使用类构造器创建Bean实例 2.提供静态工厂方法创建Bean实例 3.提供实例工厂方法创建Bean实例 代码示例: Bean1.javapackage com.my.ioc_bean;// 第一种 构造器 public class Bean1 {} Bean2.javapackage com.my.ioc_bean;//第二种 静态工厂方法 public c
Spring IOC通过注解配置bean
Spring 能够从 classpath 下自动扫描、侦测和实例化具有特定注解的组件。特定注解有(放在类上面的):@Controller:标识表现层组件 @Service:标识服务层组件 @Respository:标识持久层组件 @Component:基本注解,标识了一个受Spring管理的组件对于扫描到的组件,Spring有默认的命名策略,使用非限定类名,第一个字母小写,也可以在注解中通过val...
spring IOC反射装载bean
spring基于xml配置加载bean 的demo 了解spring的反射机制
在Spring IOC容器中配置Bean
在Spring IOC容器中配置Bean 在XML文件中通过Bean节点来配置bean
【SSM】Spring的IOC及Bean管理
一、IOC(控制反转)入门知识 IOC控制反转是一种思想,实现的方式有依赖查找(DL)和依赖注入(DI)。Spring中实现反转的是IOC容器,采用的实现方法是DI 传统方式的开发是自己去主动new对象,不论是面向接口编程还是采用工厂模式,都是通过我们自己去创建新的对象 但IOC不同,我们只需要向它描述我们想要的对象,他就会为我们创建出对象,这就是所谓的控制反转 SpringI...
spring IOC是做什么用的
一下就想清楚,于是我在地板上画了图, 图上表示了如何一个个积木组装起来。由于长城好长,从山海关到加疫关 于是地上的图也很长,后来秦始皇觉得自己一个人堆长城很有难度,于是就 自己搞定出一个方案,让农民工去建造 -------------------------------------------------- rod 以前玩C++的,玩Java很少,不过也算知道javaBean,就说他吧 一个个javabean是不同的,放在不同的package里,rod想写一个系统 系统很大,不容易一下想清楚,于是在xml上
Spring IOC 容器 Bean 的生命周期
  通过构造器或工厂方法创建 Bean 实例 为 Bean 的属性设置值和对其他 Bean 的引用 将 Bean 实例传递给 Bean 后置处理器的 postProcessBeforeInitialization 方法 调用 Bean 的初始化方法(init-method) 将 Bean 实例传递给 Bean 后置处理器的 postProcessAfterInitialization方法...
Spring IOC (Bean的载入和注册)
本文以FileSystemXmlApplicationContext为例说明FileSystemXmlApplicationContext继承关系:FileSystemXmlApplicationContext AbstractXmlApplicationContextAbstractRefreshableConfigApplicationContextAbstractRefreshableAppl
Spring 的 IOC 容器中 Bean 的生命周期
1. 项目结构 2. 持久化类和配置Bean Phone.java public class Phone { private String brand; public Phone(){ System.out.println("Car`s Constructor....."); } public void setBrand(String brand) { t
Spring(一)基本知识之IOC和Bean
Keys:Spring IOC AOP Bean 注释和配置轻量级 大小和开销小 Abstract: IoC控制反转-松耦合。 AOP面向切面-可以分离应用的业务逻辑和系统级服务进行内聚性的开发。 包含并管理应用对象的配置和生命周期,这个意义上是一种容器。 将简单组件配置组合成为复杂的内容,这个意义上是一种框架。 框架就是制定一套规范或者规则,大家在该规范或者规则(思想)下工作。
Spring ioc注解方式获取bean
  package com.ls.spring.ioc.dummy; import org.springframework.stereotype.Component; @Component public class B { public void put() { System.out.println(&quot;B is outing...&quot;); } } pa...
Spring IOC 容器中bean的生命周期
Spring IOC 容器可以管理bean的生命周期,spring允许在bean生命周期内对其执行特定的任务。 spring IOC 容器对bean的生命周期进行管理过程 1 通过构造器或者工厂方法创建bean实例 2 为bean的属性设置值或者引用其他bean实例 3 执行 bena初始化方法 4 使用bean 实例 5 关闭容器时候,执行bean销毁方法 废话不多说上代码: User实体类 ...
Spring的Bean管理;IoC, DI
NULL 博文链接:https://7wolfs.iteye.com/blog/720855
Spring:IoC控制反转和Bean容器
通过一个实例来回顾。 首先是接口调用的实例,这个跟题目不直接相关,纯粹是回味。 定义接口类: package com.imooc.ioc.interfaces; public interface OneInterface { public String say(String arg); } 定义实例类,实例化接口: package com.imooc.ioc.interf...
Spring | IOC之Bean的三种实例化
快速目录 1 bean的含义 2 bean的命名 3 bean的实例化 4 参考资料 在Spring中,对象包装成Bean,供IOC容器使用。Spring的Beans组件已经明确Bean的定义和Bean的解析,我们的关注点是Bean的创建。在学习Bean的创建之前,先简单了解下Bean的含义和命名。 1 Bean的含义 Bean这个概念是随着Spring框架而出来的。早在1996年,有Java...
Spring学习历程---在IoC中配置bean
1.属性变量名有一个很容易被忽视的命名规范,前两个字母或者全部大写,或者全部小写。否则会报编译错误。或者说,这个命名,其对应的方法自动生成,不会与配置文件发生冲突。
spring中IOC容器中Bean的生命周期方法
spring IOC容器可以管理Bean的生命周期,spring允许在Bean生命周期的特定点执行定制的任务 spring IOC容器对Bean的生命周期管理的过程 通过构造器或工厂方法创建Bean实例 为Bean的属性设置值和对其他Bean的引用 调用Bean的初始化方法 Bean可以使用了 当容器关闭是,调用Bean的销毁方法 在Bean的声明里设置init-me...
Spring Bean到底是什么?有什么用?
Spring Bean是什么?有什么用?Bean在Spring和SpringMVC中随处可见,将这个概念内化很重要,下面分享一下我的想法:一、Bean到底是什么?二.怎么使用bean?Bean配置Bean的作用域 Bean在Spring和SpringMVC中随处可见,将这个概念内化很重要,下面分享一下我的想法: 一、Bean到底是什么? 我个人的理解,觉得bean就相当于定义一个组件,这个组件是用...
Spring实战(3)-在IOC中装配Bean
Spring容器启动需要的条件: spring的类包已经放到了应用程序类路径下 应用程序为spring提供完备的Bean配置信息 Bean的类都已经放到了应用程序的类路径下 这三个条件中,我们需要学习的就是那个Bean的配置。至于其他两条,Spring的支撑,以及Bean的类(也就是我们写的java类)就不说了。 Spring容器内部工作解析图: Bean的配置信息首先定义了Bean...
【深入Spring】——Tiny Spring IoC(一)Bean
引言     小贾推荐了一个Tiny Spring给我,学习Spring源码,从简单的了解Bean,BeanDefinition和BeanFactory三者关 系开始,简单易懂,这里也以博客的形式分享给大家。   UML图   这里最关键的两个类:BeanDefinition与BeanFactory(为了简单,这里的BeanFactory为类),类图关系如下:     
Spring bean 加载的先后顺序。。
[code=Xml]rnrn rn rn rn rnrn[/code]rnrn不能成功加载,而必须反a放到b前面,这是什么原因。rnrn找了一些资料,也没有具体的说明。rnrn请高手指点。rnrnClassPathXmlApplicationContext
spring bean加载原理
简单的分析了一下spring bean的加载原理,属于个人的理解,源码比这个要复杂的多: spring的配置文件applicationContext.xml的内容如下: beans> bean id="userDao" class="com.qjl.study.spring.dao.impl.UserDaoImpl">bean> beans> 非web环境下我们通常这么来
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件