如何在Jsp或javaBean中调用Spring配置文件中的bean
2个回答
2015-12-19 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
Spring中配置的bean是自动加载的,当类调用的时候实例化并返回调用者。
配置:
?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 配置一个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"));
}
}
配置:
?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 配置一个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"));
}
}
展开全部
如果容器已经运行,在jsp与javabean中只要可以拿到request,可以这样
ServletContext context = req.getServletContext();
WebApplicationContext appContext =
WebApplicationContextUtils.getWebApplicationContext(context);
// 获得userService实例
UserService userService = (UserService)context.getBean("userService"); //userservice是spring配置文件中的bean 的ID
如果不能取到request可以这样
ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"classpath:spring/spring-config.xml",
"classpath:spring/spring-mybatis.xml"});
UserService userService = (UserService)context.getBean("userService"); //userservice是spring配置文件中
ServletContext context = req.getServletContext();
WebApplicationContext appContext =
WebApplicationContextUtils.getWebApplicationContext(context);
// 获得userService实例
UserService userService = (UserService)context.getBean("userService"); //userservice是spring配置文件中的bean 的ID
如果不能取到request可以这样
ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"classpath:spring/spring-config.xml",
"classpath:spring/spring-mybatis.xml"});
UserService userService = (UserService)context.getBean("userService"); //userservice是spring配置文件中
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询