社区
Java EE
帖子详情
ssh集成框架的问题
aishangIT123
2009-11-12 02:09:03
在 spring中 为Action注入接口 那么在Action中 应该怎么声明这个接口呢
Struts的配置中 加了插件 Spring配置中 加了Action BEan标签 注入了业务逻辑层的接口
Action Bean中的接口子标签 的name应该写什么呢 在Action的方法体内应该怎么写这个接口的声明和实例化呢
...全文
190
23
打赏
收藏
ssh集成框架的问题
在 spring中 为Action注入接口 那么在Action中 应该怎么声明这个接口呢 Struts的配置中 加了插件 Spring配置中 加了Action BEan标签 注入了业务逻辑层的接口 Action Bean中的接口子标签 的name应该写什么呢 在Action的方法体内应该怎么写这个接口的声明和实例化呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
deng1234
2009-11-14
打赏
举报
回复
Action要得到spring配置文件的声明就可以了,
Action中
private UserService userService =(UserService)SpringUtil.getBean("userService");
andesen
2009-11-13
打赏
举报
回复
[Quote=引用 5 楼 aishangit123 的回复:]
<property name="userService" ref="userService" />
中的这个Name是随便起的吗 起了之后什么地方能用到啊
如果不是随便起的 那写什么地方的名啊 如果是注入 应该Action中有这个name吧 求解
[/Quote]
name与你Action类的属性 userService同名
kamayy
2009-11-13
打赏
举报
回复
不知道楼主到底想说什么,给你一个struts2.x的配置参考
假如现在有UserDaoImp,UserServiceImp,UserAction,
UserDaoImp实现UserDao接口并继承HibernateDaoSupport,UserServiceImp实现UserService接口
applicationContext.xml配置
<!-- Dao配置 -->
<bean id="userDao" class="包名.UserDaoImp">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- Service配置 -->
<bean id="userService" class="包名.UesrServiceImp">
<property name="userDao" ref="userDao" />
</bean>
这个时候UserServiceImp类中声明了一个UserDao接口的引用,并生成了getter,setter方法
很简单,楼主应该明白.
<!-- Action Bean配置 -->
<bean id="userAction" class="包名.UserAction">
<property name="userService" ref="userService" />
</bean>
同理,UserAction类中声明了一个UserServiceImp接口的引用,并生成了getter,setter方法
这个是struts2.x当中的配置,若在struts1.x中bean要使用name="/*"
struts.xml文件配置(这里只列举action部分)
<action name="userAction" class="这里写spring配置文件中ActionBean配置中的id属性值">
<result name="success">跳转的链接</result>
</action>
在classpath目录下创建一个struts.properties文件并配置
struts.objectFactory=spring或者在struts.xml文件中配置
<constant name="struts.objectFactory" value="spring" />
意思是将action交给spring来管理(这里在struts1.x当中配置plug-in或者在web.xml中配置)
下面web.xml中的配置我就不多说了,我把我做demo时候的配置发上来你看看吧
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigaLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Clarity-Black
2009-11-13
打赏
举报
回复
楼主说的好乱,感觉好像没有理解框架集成的相关配置概念,直接写一个完整的流程你看看吧
首先页面收集数据,提交到struts,struts将页面的数据封装到你对应的属性中。然后执行方法,再去调用业务逻辑层,要调用业务逻辑层中的方法,那我们就需要有业务逻辑层的对象,以前的方式是我们直接new的,但是现在创建这个对象的事情我们交给spring来帮助我们完成,那就需要我们在配置文件中进行配置,告诉spring应该创建哪个类的对象
具体的spring配置如下:
<bean id="Service" class="com.softeem.agent.Service" />
<bean id="loginAction" class="com.softeem.actions.LoginAction">
<property name="userService" ref="Service"/>
</bean>
action中只要定义一个userService属性就行;其实在你配置的时候,已经声明了loginaction中有一个参数名字是userService,参照的模板是Service,注意ref后面的值必须跟你上面定义的id的值保持一致,而property后面的值必须跟你在action中定义的那个属性的名字一致
liuj822
2009-11-13
打赏
举报
回复
还是通过set方法注入即可,建议楼主还是去看看一些spring的书籍。
baykermr
2009-11-13
打赏
举报
回复
Action中只需要声明把这个接口声明成属性吧,然后必须要有getter,setter方法。
LoginServiceImpl login = null;
然后get,set方法。
zhouhualong
2009-11-13
打赏
举报
回复
建议楼主再看看spring的作用吧,在你要使用某个类时通过spring来调用,就不需要自己手动实例化了,这是我理解的spring思想。
sangshusen_1988
2009-11-12
打赏
举报
回复
1还是2?
youjianbo_han_87
2009-11-12
打赏
举报
回复
<bean
name="/MstLcpeAction"
class="com.erp.cg.mst.action.MstLcpeAction" singleton="false">
<property name="mstLcpeBD" ref="mstLcpeBD" />
</bean>
红色部分用你的 action里面配置的 path,Action 根本不用分接口和实现,直接用一般的Action就可以了。我这样用2年了。
zl3450341
2009-11-12
打赏
举报
回复
给你个小例子去看看
http://blog.csdn.net/5iasp/archive/2009/06/19/4284221.aspx
在action里面生成get set方法
youjianbo_han_87
2009-11-12
打赏
举报
回复
[Quote=引用 11 楼 duanjianmin 的回复:]
1.在 spring中 为Action注入接口 那么在Action中 应该怎么声明这个接口呢 ?
用这个接口定义 一个对象,生成set ,get方法,这是一种IOC的set注入方法。
2.在spring的配置文件里面配置一下这个action 。格式: <bean> <property>这里面写上面注入的接口的对象名 </property> </bean>
[/Quote]
谁说一定要接口注入???
木木水夕
2009-11-12
打赏
举报
回复
1.在 spring中 为Action注入接口 那么在Action中 应该怎么声明这个接口呢 ?
用这个接口定义 一个对象,生成set ,get方法,这是一种IOC的set注入方法。
2.在spring的配置文件里面配置一下这个action 。格式:<bean> <property>这里面写上面注入的接口的对象名</property></bean>
sunzhiyongq1
2009-11-12
打赏
举报
回复
如果你是用工具一次性生成SSH框架的话,分几步:
1. 在你那个Action中声明你要注入的接口(这个接口是你已经定义好的),并添加SET和GET方法。
比如:
//在Action中
private IUserBiz(定义的接口) userbiz;
//下面SET和GET方法
2.Spring配置文件中。
<bean name="(这个是你那个Action中的Path属性(如path='/user')) class="(Action中的包名
+Action类名)" >
<property name="(你在Action中声明的那个接口 如:userbiz)" ref=‘一样’/>
</bean>
youjianbo_han_87
2009-11-12
打赏
举报
回复
[Quote=引用 4 楼 aishangit123 的回复:]
引用 3 楼 youjianbo_han_87 的回复:
引用 2 楼 aishangit123 的回复:
Action的方法体怎么写
Action里面的方法和你没用Spring时一样写,没有任何区别。
Action中接口怎么声明和实例 new impl实现类??? 或者是context。getbean();
那 写注入还有什么用啊
[/Quote]
action层不用分什么实现类和接口。
KEYSOUL
2009-11-12
打赏
举报
回复
你说的真乱,不知道是这个意思不:
解:
假设 UserService 是业务类,
那么要在xxAction类中添加业务类接口:private UserService userService;
public void setSerService(UerService uerService ){...};
public UerService getUserService{...};
做好这就好解释了,
<property name="userService" ref="userServic">
--name="userService"就是 在xxAction类声明的 userService 属性;
--ref="userServic" 就是在spring 文件中配置的<bean id="userService" class="...">..;
一洽客服系统
2009-11-12
打赏
举报
回复
和其他类一样啊 吧对应的property注入就是了 别忘记设置setter方法。也可以autowire="byName"
紫炎圣骑
2009-11-12
打赏
举报
回复
学习框架
aishangIT123
2009-11-12
打赏
举报
回复
<property name="userService" ref="userService" />
中的这个Name是随便起的吗 起了之后什么地方能用到啊
如果不是随便起的 那写什么地方的名啊 如果是注入 应该Action中有这个name吧 求解
aishangIT123
2009-11-12
打赏
举报
回复
[Quote=引用 3 楼 youjianbo_han_87 的回复:]
引用 2 楼 aishangit123 的回复:
Action的方法体怎么写
Action里面的方法和你没用Spring时一样写,没有任何区别。
[/Quote]
Action中接口怎么声明和实例 new impl实现类??? 或者是context。getbean();
那 写注入还有什么用啊
youjianbo_han_87
2009-11-12
打赏
举报
回复
[Quote=引用 2 楼 aishangit123 的回复:]
Action的方法体怎么写
[/Quote]
Action里面的方法和你没用Spring时一样写,没有任何区别。
加载更多回复(2)
SSH
集成
框架
(源码)
SSH
集成
框架
(源码) 需要的同学自己下载参考!!
ssh
集成
框架
ssh
集成
框架
Java全栈工程师-
SSH
框架
整合
本课程手把手从分析
SSH
框架
整合思路,到
SSH
整合代码实现 本课程讲解了Struts2纯注解形式的使用
ssh
集成
框架
(spring ,Hibernate,struts)
ssh
集成
框架
spring Hibernate struts
集成
好了的
ssh
框架
!
SSH
框架
集成
(图)详解
SSH
框架
集成
详解
SSH
框架
集成
详解
SSH
框架
集成
详解
SSH
框架
集成
详解
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章