struithebernate 与spring 通俗的理解?

struithebernate 与spring 通俗的理解?,第1张

到底struts+hibernate+spring是怎么回事?

通过自己简单的学习,总结如下:

struts主要表现为显示层,有就是说你从数据库得到的数据,想把数据呈现给用户,那struts就用的上了

hibernate是主要和数据库打交道,它轻量级的封装了一些JDBC方法,是开发更加的快速,当然hibernate还包括很多东西,

spring我的理解就是个大箱子,里面装的东西就是JAVABEAN,而这些JAVABEAN统一由spring来管理,那spring是怎么管理的呢?是通过applicationContext.xml文件,将这些JAVABEAN都写到这个文件里,好让spring知道他需要管理哪些JAVABEAN,这些JAVABEAN是包括ACTION,DAO接口,DAOIMPL接口实现类.

使用这三个框架整合开发的好处我觉得是降低了代码之间的偶合性,而且编码也规范了,因为用表现层的框架的好处之一就是无论谁写的代码,看上去都差不多.

当然SSH整合开发不是把三个框架加到工程下就可以了,而是需要一定的配置,让三个毫无关系的框架整合到一起,让他们三个互相认识,如何让他们互相认识?就要通过配置一些XXXX.xml文件来让他们认识

applicationContext.xml,这个里面的内容是我自己写的一个小项目里的相关配置,我想不难理解吧,估计都能看懂,其他的也按照这个方法加配置就可以了!

<bean id="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource">

<ref bean="dataSource" />

</property>

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">

org.hibernate.dialect.MySQLDialect

</prop>

<prop key="hibernate.connection.autoconmmit">true</prop>

<prop key="hibernate.show_sql">true</prop>

</props>

</property>

<property name="mappingResources">

<list>

<value>com/xy/myblog/vo/User.hbm.xml</value>

<value>com/xy/myblog/vo/Article.hbm.xml</value></list>

</property></bean>

<bean id="hibernateTemplate"

class="org.springframework.orm.hibernate3.HibernateTemplate">

<property name="sessionFactory">

<ref bean="sessionFactory" />

</property>

</bean>

<bean id="userdao" class="com.xy.myblog.dao.UserDao" abstract="true">

</bean>

<bean id="userdaoimpl" class="com.xy.myblog.daoimpl.UserDaoImpl" parent="userdao">

<property name="hibernateTemplate">

<ref bean="hibernateTemplate"/>

</property>

</bean>

<bean name="/jsp/user" class="com.xy.myblog.struts.action.UserAction">

<property name="userdao">

<ref bean="userdaoimpl"/>

</property>

</bean>

struts-config.xml,将我写的这两个内容添加进去就可以了

<controller

processorClass="org.springframework.web.struts.DelegatingRequestProcessor">

</controller>

<plug-in

className="org.springframework.web.struts.ContextLoaderPlugIn">

<set-property property="contextConfigLocation"

value="/WEB-INF/classes/applicationContext.xml" />

</plug-in>

web.xml文件下添加如下内容

<filter>

<filter-name>encoding</filter-name>

<filter-class>com.xy.myblog.util.EncodingFilter</filter-class>

<init-param>

<param-name>charset</param-name>

<param-value>GBK</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encoding</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<filter>

<filter-name>opensession</filter-name>

<filter-class>

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

</filter-class>

</filter>

<filter-mapping>

<filter-name>opensession</filter-name>

<url-pattern>*.do</url-pattern>

</filter-mapping>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/classes/applicationContext.xml

</param-value>

</context-param>

<servlet>

<servlet-name>context</servlet-name>

<servlet-class>

org.springframework.web.context.ContextLoaderServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

添加好上述内容后,基本上SSH项目的整合就已经OK了,因为本人没有进过软件公司,所以很多东西可能都不规范大家就凑合看吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11373915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存