问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

spring注入bean,怎么直接调用其方法

发布网友 发布时间:2022-04-22 12:02

我来回答

2个回答

热心网友 时间:2023-06-27 15:42

1jsp页面如果想要根据id直接查询信息的话,可能会需要这样的代码

2而应用类Spring框架之后如上图的NewsService里面是没有实例化过的NewsDao的,这样上面图中的方法就执行不了

3那假如想要使用NewsServcie中的方法,就需要去找Spring,在Action因为设置了setter方法注入所以可以直接获得实例化好的对象,那在jsp中呢?

4首先你需要有一个jar包,形如spring-web-3.2.0.M2.jar,将此包加入build Path并部署或者直接复制到WEB-INF/lib下,这是spring应用在web项目时需要用到的jar包
然后在jsp页面中导入相关的工具类:
<%@ page import="org.springframework.web.context.support.WebApplicationContextUtils"%><%@ page import="org.springframework.web.context.WebApplicationContext"%>

5最后通过以下语句获取配置文件中相应的Bean
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext()); NewsService service = (NewsService)wac.getBean("newsService");
注意getBean()方法中传入的是配置文件中的Bean的id

这样就可以在页面中访问Spring的Bean了,同时也可以访问service的方法了

热心网友 时间:2023-06-27 15:43

  <!-- 配置一个singleton Bean实例:默认 -->
<bean id="bean1" class="com.Bean1" />
<!-- 配置一个prototype Bean实例 -->
<bean id="bean2" class="com.Bean2" scope="prototype"/>
</beans>
程序中获取bean的操作:
public class SpringTest {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
//判断两次请求singleton作用域的Bean实例是否相等
System.out.println(ctx.getBean("bean1")==ctx.getBean("bean1"));
//判断两次请求prototype作用域的Bean实例是否相等
System.out.println(ctx.getBean("bean2")==ctx.getBean("bean2"));
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
导购什么字 店面导购员是什么意思 HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\SafeVersions... 无法安装adobeflashplayer,说无法注册ACTIVEX的控件 无法注册flash player的activex怎么办 omniverse create 他总说无法注册Flash player的Active控件 然后什么访问以下链接。不要... excel如何用进度条的形式表示完成率 买了件速干衣,北面的,求大神看一下真假。 秦皇岛银谷全城热恋是不是要预定票啊 404 Not Found 如何在Spring中注入ElasticSearch实例 spring实现控制反转与依赖注入 spring 构造函数注入后怎么用 spring是不是不能直接注入jedispool 烤鸭放一晚会坏吗,不放在冰箱的情况下 鍏充簬缃戜笂阈惰&#xFFFD;镄勯棶棰桡紝楂樻坠楹荤储璇》粏缁欐垜瑙% spring的ioc注入方式有几种? spring中依赖注入的原理 spring注入时bean的set方法为什么不能是static类型的 spring注入时bean的set方法为什么不能是static类型的 spring 静态接口注入 夏天烤鸭如何保存 spring为什么不能注入static变量 Spring怎么给类中静态变量注入值 38元大王卡30G的定向流量指的是那几个软件? 移动大王卡的定向流量怎么使用?30GB的 移动王卡30G定向流量都包括什么应用? 移动霸王卡的30G定向流量都包括什么? 中国移动大王卡30G专属视频流量怎么用? “罗刹”的意义和读音分别是什么? 修罗和罗刹有什么区别? 罗刹长什么样子啊? 罗刹与修罗有什么区别? linux 中 open和fopen的区别 linux 下open 函数使用问题 linux 系统中open 方法是什么意思 Linux文件编程中的OPEN函数具体用法 linux怎样以长格式显示用户目录下所有文件 关于 LINUX 中open的问题 linux 使用create,open,write需要包含什么头文件 linux c I/O 操作 open 打开方式 linux open怎么获取文件大小 如何辨别Linux中的open和fopen函数 怎样改变Linux 系统 open files 选项 Linux open函数的问题 linux驱动程序编译时报没有open()函数。 openfoam需要多少linux知识? linux系统下的打印机无法打印怎么解决? linux方面的工作需要哪些素质和技能