原文:
http://blog.csdn.net/Kit_LO/article/details/2230267
解析 在java项目中的spring applicationContext.xml文件的几种解析方式:
一种:
ApplicationContext cxt = new ClassPathXmlApplicationContext(“applicationContext.xml”);
cxt.getBean(“在applicationContext.xml中bean的id”);
二种:
ApplicationContext cxt =
new FileSystemXmlApplicationContext(“applicationContext.xml的绝对路径”);
cxt.getBean(“在applicationContext.xml中bean的id”);
三种:
Resource res= new ClasspathResource(“applicationContext.xml”);
XmlBeanFactory factory = new XmlBeanFactory(res);
factory.getBean(“applicationContext.xml中的bean的id”);
第四种:在web项目中解析applicationContext.xml,此方法本人感觉很好用,如在struts2.0+hibernate3.0+sprnig2.0中,某jsp页面须用daoImpl(业务实现类的一个方法),一般写法是在action中调用该方法,写不可以直接使用,因为所有东东都交给spring管理了,但是在原来的基础上加上以下这个类,做法就多了,我们可以在该jsp页面用<s:bean id="aa" name="org.xxxx.Gean"> <s:set name="bb" value="%{#aa.getBean('此处为applicationContext.xml中所写的daoImpl的bean的id')}"> bb就是我们所要的方法的返回值.
public class GetBean {
private XmlBeanFactory factory;
public GetBean()
{
Resource res=new ServletContextResource(ServletActionContext.getServletContext(),"/WEB-INF/transaction.xml");
factory=new XmlBeanFactory(res);
}
public Object getBean(String beanname)
{
XmlWebApplicationContext ctx=new XmlWebApplicationContext();
ServletContext servletcontext=ServletActionContext.getServletContext();
ctx.setServletContext(servletcontext);
ctx.setConfigLocations(new String[]{"/WEB-INF/transaction.xml"});
ctx.refresh();//由servletContext初始化beanfactory需要的配置文件,进而加载该配置文件
Object obj=ctx.getBean(beanname);
return obj;
}
}
分享到:
相关推荐
在Spring Boot应用中,日志配置是至关重要的,因为它负责记录应用程序的运行状态和错误信息。当使用logback作为日志框架时,通常我们会将配置文件放在`src/main/resources`目录下,命名为`logback-spring.xml`,这是...
当然还包括对应的对象形式Integerv,Boolean等等.DWR中在allow预定义了16个配置项目分别用于所有基本类型的转换.就象这样<convert converter="primitive" match="java.lang.Long"/>...
在现代Web开发中,前后端分离是常见的架构模式,Spring框架的Spring MVC模块提供了一种高效的方式处理HTTP请求。在Spring 3.x版本中,JSON作为一种轻量级的数据交换格式,广泛用于前后端数据传输。本篇文章将详细...
例如,在 `pom.xml` 文件中定义 Spring Cloud 相关依赖。 #### 注解解析 Spring Cloud 中广泛使用了注解来简化开发工作。例如: - `@RestController`:标记类为 RESTful 控制器。 - `@RequestMapping`:用于映射 ...
2. **配置JSP视图解析器**:在`application.properties`或`application.yml`中,配置Spring Boot使用JSP作为视图解析器。 ```properties spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp ``...
Spring AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它为开发者提供了一种管理横切关注点的有效方式。在Java应用程序中,横切关注点通常指的是那些跨越多个对象、模块的...
在项目中引入Spring Data MongoDB的依赖。在Maven的`pom.xml`文件中,你需要添加如下依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-data-mongodb ``` 或者在Gradle的...
配置元数据可以通过以下几种方式提供给Spring容器: - **XML配置文件**:使用`<bean>`元素定义Bean。 - **Java配置**:使用`@Configuration`和`@Bean`注解定义Bean。 - **注解**:在类或字段上使用注解定义Bean及其...
4. **Spring MVC配置**:在`springmvc-servlet.xml`文件中,我们需要配置处理器映射器(HandlerMapping)、视图解析器(ViewResolver)以及其他必要的组件,例如拦截器(Interceptor)和异常处理器...
Spring Boot的起步依赖(Starter Dependencies)是一种非常便捷的方式来管理项目的外部依赖关系。开发者只需在`pom.xml`或`build.gradle`文件中声明相应的起步依赖,Spring Boot就会自动下载所有必要的库及其对应的...
Spring Boot Starter是Spring Boot框架的一部分,它提供了一种便捷的方式来引入和配置一组相关的库,使得开发者可以快速搭建起一个可运行的应用程序。"my-app-spring-boot-starter"很可能是一个自定义的Starter,...
10. **Spring Boot**:虽然不在源代码包列表中,但Spring Boot是基于Spring框架的快速开发工具,它简化了配置,并提供了一种“开箱即用”的体验,极大地推动了Spring的普及。 通过对这些关键组件的学习,开发者不仅...
在应用的配置文件(如`web.xml`或使用Spring Boot时的`application.properties`/`application.yml`)中,你需要配置Spring MVC的DispatcherServlet和视图解析器。 总结来说,使用Spring MVC搭建REST服务涉及以下几...
在3.2.13版本中,DI通过XML配置、注解以及编程式API三种方式实现。 三、面向切面编程(AOP) AOP允许开发者定义“切面”,将关注点如日志、事务管理等分离出来,独立于业务逻辑。Spring通过动态代理实现了AOP,提供...
4. **Spring MVC配置文件**:`springmvc-servlet.xml`是Spring MVC的配置中心,你可以在这里定义视图解析器、拦截器、数据源、bean的扫描路径以及其他相关设置。例如,你可能会配置一个InternalResourceViewResolver...
2. **面向切面编程(Aspect-Oriented Programming,AOP)**:AOP是一种编程范式,它将关注点分离为“切面”,如日志、事务管理等,然后在运行时将这些切面织入到主业务逻辑中。Spring AOP支持使用注解或XML配置来...
- **简化配置**:在没有使用 Spring Boot 时,构建项目通常需要大量的 XML 配置文件,这不仅使得项目结构变得复杂,而且在配置过程中容易出错。 - **减少依赖冲突**:整合第三方框架时往往需要手动配置 JAR 包,这会...
在"spring案例所有源码.zip"这个压缩包中,包含了多个Spring框架的应用实例,我们可以从这些源码中学习到Spring的核心概念和实践方法。 首先,Spring的核心在于IoC容器。IoC使得应用程序的依赖关系由Spring来管理,...
`ClassPathXmlApplicationContext`是Spring提供的一个实现`ApplicationContext`接口的类,它负责加载指定路径下的XML配置文件,解析文件中的Bean定义,并实例化Bean。在这个例子中,我们通过调用`getBean`方法获取了...