最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

applicationContext配置

来源:动视网 责编:小OO 时间:2025-09-24 12:26:57
文档

applicationContext配置

配置内容1.需要用到AOP的话,配置对AOP的支持:通过配置织入@Aspectj切面,虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。2.加入外部属性文件PropertyPlaceholderConfigurerPropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以
推荐度:
导读配置内容1.需要用到AOP的话,配置对AOP的支持:通过配置织入@Aspectj切面,虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。2.加入外部属性文件PropertyPlaceholderConfigurerPropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以
配置内容

1.  需要用到AOP的话,配置

对AOP的支持:通过配置织入@Aspectj切面,虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。

2.  加入外部属性文件  PropertyPlaceholderConfigurer

PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java Properties文件中去。在XML文件中用${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进行修改,而不用对xml配置文件进行修改。

3.Spring组件扫描(注解支持)

 

    具体用法如下:

4.引入其它各种applicationContext-*.xml文件

其实这些文件本来都应该配置在applicationContext.xml里面的,只是出于文件分工,后期维护性考虑才分开到各个xml配置文件里的

标签

额外补充

    一直不理解为什么要在applicationContext.xml里面配置一个ApplicationUtil的bean

    com.framelib.utils.ApplicationUtil这个类是自己写的,源码:

        该类实现了ApplicationContextAware接口,百度了一下该接口的用法,如下:

        

Spring中ApplicationContextAware接口用法

加载Spring配置文件时,如果Spring配置文件中所定义的Bean类,如果该类实现了ApplicationContextAware接口,那么在加载Spring配置文件时,会自动调用ApplicationContextAware接口中的

public void setApplicationContext(ApplicationContext context) throws BeansException

方法,并且自动可获得ApplicationContext 对象。前提必须在Spring配置文件中指定改类。

需要在配置文件中配置相关的bean:

    

后来将该配置注释掉,项目启动顺利,但是发出请求时便报如下的错:

总结原因:

我发起请求中用到了Spring中无法注入的bean(这里多说一句:我们没有办法给MapperScannerConfigurer创建的这些映射器指定id或name属性,它们对我们似乎是不可见的。这个问题的解决之道在于采用了Spring针对自动侦测到的组件的默认命名策略,亦即把类/接口名字的首字母小写,其他不变,作为映射器的名字。例如,映射器接口TeacherMapper被扫描后创建的映射器bean名为teacherMapper。因此,我们可以像以前一样使用这样的代码来得到TeacherMapper实例:

TeacherMapper mapper  =  (TeacherMapper)ctx.getBean("teacherMapper"))

因此需要该ApplicationUtil类的getBean(name)方法来或取bean,这种无法在Spring中注入的bean一般是工具类的,因此如果不配置该bean,就无法或取bean,于是报了NullPointerException。

如果发起的请求不会用到无法注入的bean就会顺利走通。

文档

applicationContext配置

配置内容1.需要用到AOP的话,配置对AOP的支持:通过配置织入@Aspectj切面,虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。2.加入外部属性文件PropertyPlaceholderConfigurerPropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderConfigurer可以
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top