SSH框架的applicationContext.xml详解(非Annotation)
2014-03-15 16:59
274 查看
首先xml是类似于这样一种结构:
配置到里面的一个个的bean可以被spring进行管理和注入。首先这个bean得有个唯一的id。就当是取的对象名称,好比sessionFactory,然后他应该有类名全称。
sessionFactory的配置一般是在hibernate.cfg.xml中有。如果有,则只需为该bean指定configLocation即可,便可以自动通过路径找到相关配置。
PS:hibernate.cfg.xml的写法如下:
而如果想舍弃掉hibernate.cfg.xml而直接在applicationContext.xml中配置,那么可以指定几个property:
1、dataSource数据源。包含了driver,url,username,password用来登陆数据库的配置。
2、hibernateProperties。hibernate的其他相关配置
3、mappingResources。映射
既然映射了dataSource,那么就要定义这个bean了.就只包含4个属性
然后就是action,service,dao的bean的配置了。写在一起
可以看到action有一个service的属性,并映射到service对象。同样service有一个dao属性,映射到dao,最后dao映射到sessionFactory交给hibernate处理。一层层调用下来。bean有个scope属性。取值为singleton、prototype、request,session等。具体意思不是太懂。
未完待续...
<?xml ...?> <beans ...> <bean></bean> <bean></bean> ... </beans>
配置到里面的一个个的bean可以被spring进行管理和注入。首先这个bean得有个唯一的id。就当是取的对象名称,好比sessionFactory,然后他应该有类名全称。
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"></bean>
sessionFactory的配置一般是在hibernate.cfg.xml中有。如果有,则只需为该bean指定configLocation即可,便可以自动通过路径找到相关配置。
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="configLocation"><value>classpath:hibernate.cfg.xml</value> </property></bean>
PS:hibernate.cfg.xml的写法如下:
<?xml 。。。?> <!DOCTYPE 。。。> <hibernate-configuration> <session-factory> <property name = "connection.driver_class">com.mysql.jdbc.Driver</property> <property name = "connection.url">jdbc:mysql://localhost:3306/school</property> <property name = "connection.username">root</property> <property name = "connection.password">root</property> <property name = "dialect">org.hibernate.dialect.MySQLDialect</property> <property name = "show_sql">true</property> <!-- property name = "hbm2ddl.auto">create</property> --> <!-- property name = "format_sql">true</property> --> <mapping resource = "com/zcx/ssh/model/User.hbm.xml"/> </session-factory> </hibernate-configuration>
而如果想舍弃掉hibernate.cfg.xml而直接在applicationContext.xml中配置,那么可以指定几个property:
1、dataSource数据源。包含了driver,url,username,password用来登陆数据库的配置。
2、hibernateProperties。hibernate的其他相关配置
3、mappingResources。映射
<!-- 配置数据源,名称为dataSource,并映射到名叫dataSource的bean去--> <property name="dataSource"> <ref bean="dataSource" /> </property> <!-- 其他hibernate属性在这儿配置 --> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.current_session_context_class">thread</prop> </props> </property> <!-- 映射资源 --> <property name="mappingResources"> <list> <value>com/zcx/ssh/model/User.hbm.xml</value> </list> </property>
既然映射了dataSource,那么就要定义这个bean了.就只包含4个属性
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property> <property name="url"><value>jdbc:mysql://localhost:3306/school</value></property> <property name="username"><value>root</value></property> <property name="password"><value>root</value></property> </bean>
然后就是action,service,dao的bean的配置了。写在一起
<bean id="indexAction" class="com.zcx.ssh.action.IndexAction" scope="prototype"> <property name="userService" ref="userService"></property> </bean> <bean id="userService" class="com.zcx.ssh.service.impl.UserServiceImpl"> <property name="userDao" ref="userDao"></property> </bean> <bean id="userDao" class="com.zcx.ssh.dao.impl.UserDaoImpl" scope="singleton"> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
可以看到action有一个service的属性,并映射到service对象。同样service有一个dao属性,映射到dao,最后dao映射到sessionFactory交给hibernate处理。一层层调用下来。bean有个scope属性。取值为singleton、prototype、request,session等。具体意思不是太懂。
未完待续...
相关文章推荐
- COCOS2D-X 3.0 安装方法: win7+vs2012+eclipse +ndk +cocos2dx-3.0beta2
- MAC library 管理
- cocos2d
- COCOS2D-X 3.0BETA2 版本LabelTTF中文显示乱码的解决办法
- 微信公众平台主动给用户推送消息,群发消息解决方案收集
- ViewPager嵌套问题
- cocos2d-x 场景的切换
- Android 4.4 打印探究
- cocos2dx-24种基本特效
- IOS开发之----异常处理
- [微信机器人_06]编码实现(完结)
- java的一些小程序!
- Android基础综合案例(二)
- 通过扩展 CWebUser 增加信息到 Yii::app()->user
- Android开源项目发现--- 效率开发工具篇(持续更新)
- Android开源项目发现--- 效率开发工具篇(持续更新)
- android 动画
- cocos2d-x中中文乱码解决
- Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件
- iOS:开源类MBProgressHUD