使用spring、hibernate框架第一步

来源:互联网 发布:linux u盘启动盘 编辑:程序博客网 时间:2024/03/29 00:51

     首先假定我们已经有了以下文件,用于配置相关参数等等,文件位置是在"WEB-INF/classes/config/spring/"下

config.properties

applicationContext.xml

     在应用程序中只需要以下代码,就可以简单用以上配置文件初始化一个Sping容器了

Properties properties = new Properties();properties.load(getClass().getResourceAsStream("classpath:/config/spring/config.properties"));PropertyPlaceholderConfigurer config = new PropertyPlaceholderConfigurer();config.setProperties(properties);FileSystemXmlApplicationContext applicationContext = new FileSystemXmlApplicationContext("classpath:/config/sping/applicationContext.xml");applicationContext.addBeanFactoryPostProcessor(config);applicationContext.refresh();

     给FileSystemXmlAppliicationContext的构造函数传入配置好的xml文件就可以加载相关的sping配置,调用其refresh函数

就可以初始化容器了,FileSystemXmlApplicationContext的构造函数可以传入多个xml配置文件。

     然后再看看上边两个文件都是干嘛的。

applicationContext.xml就是spring的配置文件,在其中可以配置数据源、sessionFactory等各种bean,看一个完整的例子

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"  "http://www.springframework.org/dtd/spring-beans-2.0.dtd"><beans default-lazy-init="false">        <!-- 配置数据源 -->    <bean id="dataSource" class="org.apach.tomcat.jdbc.pool.DataSource" destroy-method="close">        <!-- 配置数据库连接池 -->        <property name="poolProperties">            <bean class="org.apach.tomcat.jdbc.pool.PoolProperties">                <property name="driverClassName" value="com.mysql.jdbc.Driver" />                <property name="url" value="$(db.url)" />                <property name="username" value="${db.user}" />                <property name="password" value="${db.password}" />                <property name="testWhileIdel" value="true" />                <property name="testOnReturn" value="true" />                <property name="testOnBorrow" value="true" />                <property name="validationQuery" value="select now()" />            </bean>        </property>    </bean>        <!-- 配置SessionFactory -->    <bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">        <property name="dataSource" ref="dataSource" />        <property name="mappingLocations">            <!-- 配置文件列表 -->            <list>                <value>"classpath:test/domain/Test.xml"</value>            </list>        </property>        <!-- 配置hibernate -->        <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">org.apach.hibernate.MySQLDialect</prop>                <prop key="hibernate.show_sql">true</prop>                <prop key="hibernate.format_sql">true</prop>            </props>        </property>    </bean>        <!-- 配置HibernateTemplate -->    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">        <property name="SessionFactory" ref= "SessionFactory" />    </bean></beans>

     然后再看看config.properties文件的内容

 db.url=jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=utf-8 db.user=root db.password=123 

   看看两个文件内容有什么关联吗? 其实config.properties的作用就是将一些经常或者容易发生变化的内容提取出来单

独配置的,在代码中将初始化好的PropertyPlaceholderConfigurer配置给Spring容器,然后在Spring的配置文件中通过${}就能

获取对应的参数值,而不用直接去修改applicationContext.xml文件。




如果是web项目的话,就可以直接在web.xml中配置spring了,而不用写初始化的代码

web.xml

    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:/config/spring/applicatonContext.xml</param-value>    </context-param>    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>

那config.properties怎么办呢? 也可以直接在applicationContext.xml中配置,在applicationContext.xml中添加以下配置就行了

<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    <property name="locations">       <list>          <value>classpath:/config/spring/config.properties</value>       </list>    </property></bean>

一个spring+hibernate的框架已经可以使用了 =,=



  



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小宝宝腿纹不对怎么办 孩子个子太高怎么办 宝宝拉粑粑干硬怎么办 美国办新生儿护照怎么办 怀孕拉绿色大便怎么办 幼儿园孩子不爱学习怎么办 幼儿园老师管不住孩子怎么办 手机支架夹不住怎么办 画水彩没有留白液怎么办 水彩颜料脱胶了怎么办 指甲油涂到手上怎么办 抖音里没有控雨怎么办 qq视频没有特效怎么办 组长刁难员工员工怎么办 想转行没精力怎么办 桔子树无法退款怎么办 保温箱婴儿哭了怎么办 宝宝不爱吃肉泥怎么办 苹果x卡死了怎么办 苹果6手机用着卡怎么办 二个月宝宝肚子胀气怎么办 一岁半宝宝大便干结怎么办 婴儿上大便费劲怎么办 宝宝便秘半年了怎么办 1岁宝宝便秘怎么办 两个月积食了怎么办 婴儿拉青色大便怎么办 一周岁宝宝便秘怎么办 两岁宝宝内火重怎么办 一岁宝宝内火重怎么办 小孩大便有点血怎么办 一岁半宝宝拉血怎么办 宝宝八个月便秘怎么办 七个月孩子便秘怎么办 小孩肚子胀气怎么办消化不良 骨盆窄孩子卡住怎么办 孕38周便秘怎么办 孕晚期肚子发硬怎么办 小孩脸上有斑怎么办 肚子胀怎么办快速解决 肚子发撑发胀怎么办