【3】SSH整合-spring注入
来源:互联网 发布:java ssh三层架构 编辑:程序博客网 时间:2024/06/07 00:09
【1】配置spring
在前面的基础上编写了DAO层,SERVICE层等的代码,现在需要通过spring的配置文件将各层连接并进行注入
首先先配置数据源
<!-- 数据源配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/oa"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="30"></property>
<property name="maxWait" value="500"></property>
<property name="defaultAutoCommit" value="true"></property>
</bean>
这也就是以前通过javabean等实现的连接数据库操作,spring是通过连接池进行数据库的连接的
接着配置与之相关的java类的关系
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>oa/sean/bean/User.hbm.xml</value>
</list>
</property>
</bean>
将其注入到sessionfactory当中
整个过程就是这样,然后将sessionfactory注入到DAO,DAO再注入到action当中,实现了从数据库到jsp页面的一套流程
下面配置dao层和服务层
<bean id="userDao" class="oa.sean.dao.impl.UserDAOImpl" scope="singleton">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="userService" class="oa.sean.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>
注意:dao层是没有状态的,因此将其配置成singleton,默认的也是使用此方法
最后是注入到action当中
注意spring的配置文件当中的名称要和struts当中定义的class一样
见红色所示:
<bean id="userService" class="oa.sean.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>
<!-- 所有的action要设置成prototype性质的,可每次访问生成一个实例,否则默认为singleton,只生成一个实例 -->
<bean id="saveUserAction" class="oa.sean.action.user.SaveUserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean>
<bean id="listUserAction" class="oa.sean.action.user.ListUserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean>
<bean id="removeUserAction" class="oa.sean.action.user.RemoveUserAction" scope="prototype">
<property name="service" ref="userService"></property>
</bean>
<bean id="updatePUserAction" class="oa.sean.action.user.UpdatePUserAction" scope="prototype">
<property name="service" ref="userService"></property>
</bean>
<bean id="updateUserAction" class="oa.sean.action.user.UpdateUserAction" scope="prototype">
<property name="service" ref="userService"></property>
</bean>
<!-- 有状态的用prototype类型,没状态的用singleton,区分一个action是否有状态,是否有相互区分的属性 -->
<bean id="generateExcelAction" class="oa.sean.action.user.GenerateExcelAction" >
<property name="service" ref="userService"></property>
</bean>
此时简单的一个SSH就基本完成了
加上前台的页面就可以看到结果了
- 【3】SSH整合-spring注入
- SSH整合,SPRING注入失败解决方案
- ssh整合 spring getSession()
- ssh 整合struts+spring
- SSH整合Spring事务管理
- spring and ssh 整合
- spring SSH整合
- 【Spring】SSH整合
- SSH整合问题:struts2-spring-plugin自动注入action的属性所产生的问题
- 在SSH整合中,关于spring依赖注入失败的问题
- MyBatis-Spring整合 注入SqlSessionTemplate
- SSH框架Spring注入配置
- ssh学习:Spring注入方式
- 整合SSH Struts+spring+hibernate
- SSH框架spring整合hibernate
- ssh 整合 (spring + Struts2 + hibernate)
- ssh(Spring struts2 hibernate)整合
- 【SSH】Spring与Hibernate整合
- 关于hibernate.cfg.xml在MS SQL 2000中的配置信息
- 关于~和-的区别
- 关于C#中的命名空间
- My Eclipse 7.5下载地址
- 世界是怎样变平的-1
- 【3】SSH整合-spring注入
- 【4】SSH整合-加入struts校验框架
- ACM内部函数11
- ACM内部函数12
- 学习中的小知识注意点
- 0724
- 2009年07月24日
- 开头难
- 合成模式