Spring总结及不同版本间的区别
来源:互联网 发布:适合20岁女装淘宝店铺 编辑:程序博客网 时间:2024/04/28 18:56
一 Spring中有一个IOC对象容器(Spring内部的一个HashMap容器),用于盛放对象的!
Spring中全部生成的对象都放在IOC对象容器中的!是以name或id的值做键存在容器中的!
给对象注入值的方式:---以下的4种全部都是交给Spring框架去注入的!
1.
2.
3.
4.
5.
<ref bean="p3"/>---表示可以引用其他Xml中的Bean;
<ref local="a"/>---local表示只能引用本Xml中的Bean;
Spring中加载上下文的三种方式:
ApplicationContext act=new ClassPathXmlApplicationC
Resource resource=new ClassPathResource("application.xml");
ApplicationContext
二 Spring配置工厂Bean
调用getBean(“工厂bean的id”)方法,Spring返回的不是直接创建的工厂Bean的实例,而是由工厂Bean创建的Bean实例(工厂bean生产的产品实例).
三 Spring的IOC容器用于管理Struts和Hibernate
注意:在使用Spring的时候,由Hibernate生成的影射文件中要取消指定的数据库名,否则查询数据库是要报错!
----------整合部分!
四 Stirng1.2+Spring1.2+Hibernate3.1的整合(重点)
1.
</action-mappings>
</struts-config>
2.
<beans>
<!--session工厂-->
使用的事务和事务的管理都是用的Hibernate里面的东西,都在Spring的.orm.hibernate3的下面
<bean id="sf" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
</bean>
<!--事务管理-->
<bean id="tm" class="org.springframework.orm.hibernate3.HibernateTransactionMana
<property name="sessionFactory" ref="sf"></property>
</bean>
配置的继承
下面的配置可以使用配置继承的方法来减少Spring的配置泛滥
先写个基础的代理,不指定target的代理目标,并且告诉Spring是抽象的不能使用,abstract=”true”!
当建对于具体的目标的Bean的时候,继承上面的基础代理就可以了!parent=”baseProxy”
再把target指定代理目标!
<!--servicei代理-->这就是代理,可以在其中加工处理的!
用事务拦截机的代理工厂Bean,针对业务层进行事务的监控--
<bean id="basePoxy"
</bean>
针对业务层进行事务的监控
<bean id="userserviceproxy"
</bean>
<!--daoimpl-->要使用SessionFactory查询持久层!
<bean id="userdaoi" class="org.wllt.www.daoi.UserDaoi">
</bean>
<!--serviceimpl-->要使用Dao接口的数据
<bean id="userservicei" class="org.wllt.www.servicei.UserServicei">
</bean>
<!--Action-->要使用业务层的数据
<bean name="/user" class="org.wllt.www.action.UserAction" singleton=”true”>--默认就是true
但是不能直接来自于Servicei,因为在业务层需要事务,数据库才会生效!只有先用代理处理!
</bean>
</beans>
3.Web.xml文件
Struts1.2的配置文件自己会加载的,但是Spring则要我们自己来写配置!
---上下文的加载Spring的配置文件!
<context-param>
---Spring加载监听器
</listener>
注意:在整合的过程中,Spring的jar包和Hibernate的jar包有许多的冲突,我们的处理方法是把Hibernate的兼容性先添加到项目中,让它可以帮我们产生配置文件和po影射文件,再移出全部的jar 包,把Hibernate的一个.jta拷到项目中就够使用了!。在和Struts2.0的整合过程中也是如此!(只不过还有一个Struts2到Spring的插件.jar)
两个.jar包都是倒到项目的WebRoot下的Web-Inf下的lib下就可以了!
Struts1.2和Struts2.0配合Spring1.2时的区别:
(1)1.2在Struts-config.xml中使用代理类来来把Action的事例交给Spring的
org.springframework.web.struts.DelegatingActionProxy
2.0 -------------------------------
(4)web.xml都是一样的!
五.Struts2.0+Spring1.2+Hibernate3.1的整合!
1.自己建actions.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
2.自己建struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
</struts>
3.Spring中的applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--SessionFactory-->
<!--事务的管理-->
<!--serviceiproxy用事务拦截机的代理工厂Bean,针对业务层进行事务的监控,可以先做成代理的一个模版(其他的地方引用即可!)-->
<bean id="baseproxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryB
</bean>
此处引用定义代理(都可以适用的,部分什么版本的配合!)
<bean id="deptserviceiproxy" parent="baseproxy">
</bean>
<!--daoimpl-->
<bean id="daoi" class="org.wllt.www.daoi.UserDaoi">
</bean>
<!--serviceimpl-->
</bean>
<!--action-->
</beans>
LookUp(利用CGLIB增强技术完成)
<lookup-method name=”方法名” bean=”返回类型”>
六.Spring2.0的使用!
(Struts2.0+Spring2.0+Hibernate3.1)
1.
2.
区别就是在applicationContext.xml的文件中!(在.jar包里有)
a.头文件不同1.2是.dtd规则,而2.0是.xsd规则
b.下面的<action>配置单态性不同!
<!--action-->
- Spring总结及不同版本间的区别
- Spring总结及不同版本间的区别以及 Struts1.2+Spring1.2+Hibernate3.1的整合
- CMakeup解析中文乱码及不同版本的区别
- 流行浏览器内核分类及不同版本的样式区别
- 流行浏览器内核分类及不同版本的样式区别
- Struts不同版本的区别
- ARM不同版本的区别
- Spring学习总结(22)——Spring-framework-bom解决spring的不同模块依赖版本不同问题
- eclipse不同版本间区别
- eclipse不同版本间区别
- [Spring实战系列](19)Servlet不同版本之间的区别
- Java Web学习总结(26)——Servlet不同版本之间的区别
- C#不同版本创建委托的区别
- android 通讯录中不同版本的区别
- JLINK不同版本之间的区别
- ArcGIS不同版本QueryLayer的功能区别
- Android Aynctask不同版本的区别
- 不同版本Linux的区别 和选择
- iOS 四种加密方法
- 哈希冲突的主要解决方法分析
- I - In Touch-Gym 100492I-水题
- 线索二叉树
- [LeetCode]Longest Palindromic Substring
- Spring总结及不同版本间的区别
- ToggleButton开关按钮使用
- Android异步加载学习笔记之一:用AsyncTask加载服务器json数据
- iOS 3D UI——CALayer的transform扩展解析
- 【暑期基础3】C HDU 2055 An easy problem
- static关键字
- DEVOPS 技能列表
- supervisor监控mongoDb
- tomcat内存设置