- 浏览: 139391 次
- 性别:
- 来自: 无锡
文章分类
最新评论
-
yh443042575:
楼主造福社会呀,顶顶顶!!!
jfreechart学习笔记三 带刻度的蜘蛛图 -
twtja1:
最后一句"如果需要在父类中仍然要使用类型字段,需要在 ...
hibernate继承之一,单表继承映射 -
qq361837213:
更换新版dwr的jar包就行了,新版本解决了这个问题
dwr文件上传在chrome下的问题及解决方法 -
无象心:
无象心 写道改为这样就可以了
loadingComple ...
dwr文件上传在chrome下的问题及解决方法 -
无象心:
loadingComplete:function(ba ...
dwr文件上传在chrome下的问题及解决方法
struts2整合spring有两种方式
1、采用自动装配方式,即不在spring中注入action;
好处在于:不必在struts.xml中写了配置文件后,又在spring的配置文件中再写一遍配置
如:
在struts.xml中写
<action name="loginAction" class="com.lk.loginAction" />
就可以了。
可以写一个BaseAction 里面放入所有的service接口,其他Action继承它就可以根据自动装备的方式
自动注入自己需要的service.
2、在spring中注入action
缺点在于:
在struts.xml中写
<action name="loginAction" class="loginAction" />
同时在spring配置文件中需要写
<bean id="loginAction" class="com.lk.loginAction" >
<property ref="service" />
</bean>
这样看来配置文件要比第一种要繁琐一些。
但是据称这种方式。适合配置AOP的内容。而且struts2官方文档上也是采用的这种配置
这一点我不是很清楚,哪位大侠能帮我推荐一下,哪种方式更合理
评论
16 楼
pengjj2
2009-11-09
黑暗浪子 写道
pengjj2 写道
黑暗浪子 写道
pengjj2 写道
自动装配是指在默认情况下,采用的是按照ID名字进行自动查找和注入
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
这个BaseAction不需要在spring配置文件中配置吗?况且好像用struts2整合srping。web.xml中要加段话吧?
不需要。至于struts2要整合spring ,在web.xml中配置的那段就不用贴了。地球人都知道
这到不错,所有的service都可以在BaseAction中用getter和setter这样搞,不过如果这样,JUnit怎么测试这些继承BaseAction的action?还有,如果改动BaseAction的代码,对所有的action和services类的影响大不大呢?希望兄弟说明一下
这是肯定的啊。BaseAction作为一个基类,改动了,当然所有的Action有影响。不过这个BaseAction只是为了来注入 service.好像一次性把service注完了。基本就没什么改动了吧。
至于junit,我没弄过,但是据网上收集的资料,一般认为这种方式的缺点就在于
测试和AOP不方便。你可以试试。呵呵
15 楼
黑暗浪子
2009-11-09
pengjj2 写道
黑暗浪子 写道
pengjj2 写道
自动装配是指在默认情况下,采用的是按照ID名字进行自动查找和注入
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
这个BaseAction不需要在spring配置文件中配置吗?况且好像用struts2整合srping。web.xml中要加段话吧?
不需要。至于struts2要整合spring ,在web.xml中配置的那段就不用贴了。地球人都知道
这到不错,所有的service都可以在BaseAction中用getter和setter这样搞,不过如果这样,JUnit怎么测试这些继承BaseAction的action?还有,如果改动BaseAction的代码,对所有的action和services类的影响大不大呢?希望兄弟说明一下
14 楼
pengjj2
2009-11-08
黑暗浪子 写道
pengjj2 写道
自动装配是指在默认情况下,采用的是按照ID名字进行自动查找和注入
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
这个BaseAction不需要在spring配置文件中配置吗?况且好像用struts2整合srping。web.xml中要加段话吧?
不需要。至于struts2要整合spring ,在web.xml中配置的那段就不用贴了。地球人都知道
13 楼
黑暗浪子
2009-11-07
pengjj2 写道
自动装配是指在默认情况下,采用的是按照ID名字进行自动查找和注入
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
这个BaseAction不需要在spring配置文件中配置吗?况且好像用struts2整合srping。web.xml中要加段话吧?
12 楼
pengjj2
2009-11-06
自动装配是指在默认情况下,采用的是按照ID名字进行自动查找和注入
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
比如有一个loginAction,这个Action不在spring的文件中进行配置,仍然
采用struts的配置
<action name="loginAction" class="com.lk.loginAction" />
那么在spring配置文件中
<bean id="loginService" class="com.lk.service.loginService">
</bean>
可以写一个BaseAction
public class BaseAction
{
private LoginService loginService;
get方法
set方法
}
public class LoginAction extends BaseAction
{
}
那么loginAction 可以直接使用 loginService
11 楼
C_J
2009-11-06
楼主能否再解释下第一种"自动装备的方式"方式吗?
10 楼
d-jasonlee
2009-11-05
我用这个。。。
struts2-spring-plugin-2.0.11.jar
struts2-spring-plugin-2.0.11.jar
9 楼
li445970924
2009-11-05
我觉得action里的service可以通过工厂获得,service里的dao或者其他service在由spring注入
8 楼
BestUpon
2009-11-05
其实使用Annotation的方式更容易,只需要在loginAction 上面加载一个@ParentPackage("struts-default")
@Namespace("/short")
@Results({
@Result(name = "success", type = NullResult.class, value = "/admin/statistics/filialPlaceInAllCompetition/list.jsp", params = {"contentType", "text/html;utf-8"}),
@Result(name = "invalid.token", type = NullResult.class, value = "/admin/survey/survey/list.jsp", params = {"contentType", "text/html;utf-8"})
})
@Controller("filialPlaceInAllCompetitionAction")
public class FilialPlaceInAllCompetitionAction extends CommonAction {
}
这样设么都解决了,或者你使用的Service
只需要在上面加以个@Serivce("****")
在调用的使用使用@Resource(name="*******")Spring会自动的将你需要的Service个注入进来!
@Namespace("/short")
@Results({
@Result(name = "success", type = NullResult.class, value = "/admin/statistics/filialPlaceInAllCompetition/list.jsp", params = {"contentType", "text/html;utf-8"}),
@Result(name = "invalid.token", type = NullResult.class, value = "/admin/survey/survey/list.jsp", params = {"contentType", "text/html;utf-8"})
})
@Controller("filialPlaceInAllCompetitionAction")
public class FilialPlaceInAllCompetitionAction extends CommonAction {
}
这样设么都解决了,或者你使用的Service
只需要在上面加以个@Serivce("****")
在调用的使用使用@Resource(name="*******")Spring会自动的将你需要的Service个注入进来!
7 楼
黑暗浪子
2009-11-04
我目前还发现有一个问题,很奇怪,我一个兄弟用myeclipse7发现只能用第一种方法,第二种方法写一启动tomcat,jboss系统就报错,然后硬是启动不了应用。
但是他卸载了myeclipse7后用myeclipse6.5,6.0版本就Ok了。很奇怪这个问题,有达人解释吗?
但是他卸载了myeclipse7后用myeclipse6.5,6.0版本就Ok了。很奇怪这个问题,有达人解释吗?
6 楼
黑暗浪子
2009-11-04
<div class="quote_title">pengjj2 写道</div>
<div class="quote_div">
<p>struts2整合spring有两种方式</p>
<p>1、采用自动装配方式,即不在spring中注入action;</p>
<p>好处在于:不必在struts.xml中写了配置文件后,又在spring的配置文件中再写一遍配置</p>
<p>如:</p>
<p>在struts.xml中写</p>
<p><action name="loginAction" class="com.lk.loginAction" /></p>
<p> 就可以了。</p>
<p>可以写一个BaseAction 里面放入所有的service接口,其他Action继承它就可以根据自动装备的方式</p>
<p>自动注入自己需要的service.</p>
<p> </p>
<p>2、在spring中注入action</p>
<p>缺点在于:</p>
<p>在struts.xml中写</p>
<p><action name="loginAction" class="loginAction" /></p>
<p>同时在spring配置文件中需要写</p>
<p><bean id="loginAction" class="com.lk.loginAction" ></p>
<p> <property ref="service" /></p>
<p></bean></p>
<p>这样看来配置文件要比第一种要繁琐一些。</p>
<p><span style="color: #ff0000;">但是据称这种方式。适合配置AOP的内容。而且struts2官方文档上也是采用的这种配置</span></p>
<p><span style="color: #ff0000;">这一点我不是很清楚,哪位大侠能帮我推荐一下,哪种方式更合理</span></p>
</div>
<p>我用的也是第二种,我目前发现的好处就是写JUnit可以很方便的使用spring-mock。jar里面的类对struts2的action进行单元测试。</p>
<div class="quote_div">
<p>struts2整合spring有两种方式</p>
<p>1、采用自动装配方式,即不在spring中注入action;</p>
<p>好处在于:不必在struts.xml中写了配置文件后,又在spring的配置文件中再写一遍配置</p>
<p>如:</p>
<p>在struts.xml中写</p>
<p><action name="loginAction" class="com.lk.loginAction" /></p>
<p> 就可以了。</p>
<p>可以写一个BaseAction 里面放入所有的service接口,其他Action继承它就可以根据自动装备的方式</p>
<p>自动注入自己需要的service.</p>
<p> </p>
<p>2、在spring中注入action</p>
<p>缺点在于:</p>
<p>在struts.xml中写</p>
<p><action name="loginAction" class="loginAction" /></p>
<p>同时在spring配置文件中需要写</p>
<p><bean id="loginAction" class="com.lk.loginAction" ></p>
<p> <property ref="service" /></p>
<p></bean></p>
<p>这样看来配置文件要比第一种要繁琐一些。</p>
<p><span style="color: #ff0000;">但是据称这种方式。适合配置AOP的内容。而且struts2官方文档上也是采用的这种配置</span></p>
<p><span style="color: #ff0000;">这一点我不是很清楚,哪位大侠能帮我推荐一下,哪种方式更合理</span></p>
</div>
<p>我用的也是第二种,我目前发现的好处就是写JUnit可以很方便的使用spring-mock。jar里面的类对struts2的action进行单元测试。</p>
5 楼
ricoyu
2009-11-04
从Spring2.5开始,只要在action类加上@Controler注解,在spring配置文件中使用<Context:componentscane> 就能自动发现注解的action类,省却了楼主第二种方式中spring的action配置,Service,DAO层都是同样的道理
4 楼
colorless
2009-11-04
用第一种就可以,配置好用spring实例化即可。
3 楼
zwq4166506
2009-11-04
ywlqi 写道
现在spring+struts2用第一种方式也能达到第二种效果吧:)
没怎么研究,给个示例代码look look
2 楼
ywlqi
2009-11-03
现在spring+struts2用第一种方式也能达到第二种效果吧:)
1 楼
zwq4166506
2009-11-03
第二种,因为类统一给spring托管,在action中spring可以直接注入service类
发表评论
-
linux下java8 启动spring-boot包
2018-05-09 09:00 0java8如何管理spring-boot的jar包 -
文件下载和浏览器直接打开
2016-07-09 10:03 0content-disposition=attac ... -
JSP文件下载
2015-11-02 16:03 730JSP工具之,文件下载 <% String fi ... -
maven学习笔记七 仓库
2014-07-03 23:37 0构件的仓库 仓库主要是在构建过程中处理构件和依赖包。 ... -
maven学习笔记六 构建配置
2014-07-02 22:22 0maven一直致力于使构建 ... -
maven学习笔记五 POM
2014-06-26 00:27 0POM project object model项目对象模 ... -
Maven学习笔记四 生命周期
2014-06-24 23:41 0Maven的项目管理和构建是基于生命周期这个概念的。 这意 ... -
maven3读书笔记 第一个maven工程
2014-06-17 10:06 0在命令行中输入: mvn archetype:gener ... -
tomcat7内存溢出错误的一些原因和解决方案
2013-01-11 19:42 10994今天在做公司一个工程2个版本的运行时,突然出现新版的工程在t ... -
在struts2中整合sitemesh
2013-01-10 21:56 2474今天在做个整合时,决定用sitemesh把几个页面的布局整理下 ... -
jfreechart学习笔记三 带刻度的蜘蛛图
2013-01-08 16:58 3237其实带刻度的蜘蛛图网上也有不少资料,我这个也是参照别人的资料 ... -
jfreechart学习笔记二 象限图
2013-01-08 11:01 2564用jfreechart画一个象限图,因为在jfreechart ... -
jfreechart使用笔记一 基本知识
2013-01-07 19:20 1647公司要做一些图表,各 ... -
Hibernate父子类同时映射一张表的问题
2012-09-17 19:37 3491今天在开发时发现一个问题 在查询一张表的 count 的时候 ... -
笔试面试注意点
2012-03-17 16:33 0记录一些笔试,面试中常常问到的问题吧: 1、String ... -
jbpm5实践笔记一
2012-03-13 11:28 0公司决定搞工作流开发,那么就有必要研究下jbpm这个东东了,废 ... -
windows下java备份mysql和还原mysql数据库
2012-03-09 15:26 1917import java.io.File; import ja ... -
linux firefox支持java
2011-12-28 11:26 0firefox支持java很简单如下步骤: 1. 退出 ... -
swfupload在火狐(firefox)下失效(302错误)的一种情况以及分析
2011-03-18 16:59 4456最近用了一下swfupload,因为一些定制化需求,感觉这个东 ... -
ehcache
2010-09-03 11:35 0Ehcache使用用例(一) Singleton创建方式 ...
相关推荐
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
4. 配置Struts2-Spring插件:这个插件允许Struts2的动作类直接在Spring容器中管理,避免了在Action类中手动装配依赖。 5. 实现业务逻辑:在Action类中,通过@Autowired注解或通过Spring的getBean方法获取由Spring...
DAO接口与iBatis的Mapper接口对应,通过MyBatis-Spring插件实现自动装配。 - **事务管理**:Spring的声明式事务管理可以控制事务的边界,确保数据的一致性。 - **SQL映射**:在iBatis的XML映射文件中编写SQL语句,...
【标题】:“全套源码-论坛系统(Struts 2+Hibernate+Spring实现)”揭示了一个基于Java技术栈开发的论坛系统,它整合了三个重要的框架:Struts 2、Hibernate和Spring。这个项目旨在提供一个完整的解决方案,帮助...
Struts2、Spring和Mybatis是Java Web开发中常见的三大框架,它们的组合应用极大地提升了开发效率和代码的可维护性。在这个项目中,我们利用Struts2作为表现层框架,Spring3.0作为控制层和持久层的管理工具,而...
Struts2、Spring2和Hibernate3是经典的Java Web开发框架组合,它们在企业级应用中广泛使用,构建了MVC(Model-View-Controller)架构的基础。这个完整的案例旨在展示如何将这三个框架集成,实现数据的增删查操作。...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责,共同构建出强大的企业级应用。这个压缩包文件似乎提供了一个整合这三个框架的简单示例,但可能由于大小限制,某些必要的库文件已被...
【标题】"项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)130223"是一个基于Java技术栈的web应用程序,主要用于处理项目申报流程。这个系统利用了Struts2作为MVC框架,Spring作为依赖注入容器,Hibernate作为...
5. 在Action类中,声明需要由Spring注入的属性,并使用@Autowired注解进行自动装配。 **示例源码分析:** "mySSH"可能指的是MySSH项目,这是一个基于Struts2和Spring的简单示例,可能包含了基础的CRUD操作。源码中...
Struts2、Spring3和Hibernate4是Java Web开发中的三个重要框架,它们分别负责MVC模式中的Action控制、依赖注入及事务管理和持久层操作。这个整合的jar包提供了将这三个框架无缝集成的基础,使得开发者可以更高效地...
2. 配置Spring:创建applicationContext.xml,定义Bean,包括业务逻辑组件、DAO(数据访问对象)和SessionFactory,以及Struts的ActionForm等。 3. 配置Hibernate:配置hibernate.cfg.xml,设定数据库连接参数,...
通过Spring的ApplicationContext,我们可以配置Bean之间的依赖关系,实现服务的自动装配。 Hibernate是一个强大的ORM(对象关系映射)框架,它允许开发者用面向对象的方式来操作数据库。在SSH中,Hibernate负责数据...
Spring通过注解如`@Service`、`@Repository`和`@Controller`可以方便地管理bean,并通过`@Autowired`自动装配依赖。此外,Spring还提供了对事务管理的支持,例如`@Transactional`。 **MyBatis** 是一个持久层框架,...
Struts1、Spring2.5和Hibernate3.0是Java Web开发中经典...在实际开发中,由于Struts1和Spring2.5已经相对老旧,现在更多地推荐使用Struts2、Spring4及以上版本和Hibernate5及以上版本,以获得更好的性能和更多的特性。
- 然后,配置Struts2的核心过滤器,在web.xml中指定`struts2-convention-plugin`,这样Struts2会自动识别注解进行Action配置。 - 接着,配置Spring,创建Spring的配置文件,使用`@Configuration`注解声明这是一个...
Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护且松耦合的Web应用程序。本文将深入剖析这三者如何协同工作,并通过具体范例来应用这些知识。 Struts2作为MVC...
Struts2和Spring是两个非常重要的Java开源框架,它们在企业级Web开发中扮演着核心角色。Struts2主要用于处理MVC(Model-View-Controller)架构中的控制器部分,而Spring则是一个全面的后端解决方案,包括依赖注入、...
OA办公自动化管理系统是一款基于Java技术的典型企业级应用,它采用了经典的SSH框架组合,即Struts1.2、Hibernate3.0和Spring2。这些框架是Java Web开发中的重要工具,帮助开发者构建高效、可维护的业务逻辑。下面将...
### JavaEE多层架构Struts2+Spring3+Hibernate3+Ajax的整合 #### 概述 随着软件开发技术的不断进步,构建可复用、易于扩展并经过良好测试的软件组件变得尤为重要。在此背景下,Struts、Spring 和 Hibernate 这三大...
Struts2、Spring和iBatis是Java Web开发中经典的三大框架,它们组合起来可以构建出高效、可维护的企业级应用程序。本项目旨在为初学者提供一个基础的入门指南,帮助理解并掌握这三个框架的集成与使用,实现CRUD...