博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring扫描配置文件
阅读量:5105 次
发布时间:2019-06-13

本文共 1488 字,大约阅读时间需要 4 分钟。

spring配置文件对应的是父容器,springMVC配置文件产生的是子容器,前者一般配置数据源,事务,注解等,当然还可以进一步将一些配置细化到其他xml中;后者一般配置控制层相关的,如静态资源,视图解析器等。系统启动的时候,先初始化父容器,然后初始化子容器。这里会涉及一个问题,如果配置组件扫描时都配置全组件扫描,就会导致service组件会被扫描两次,造成事务无法处理。所以最好在springMVC配置文件中只做controller的扫描,在spring配置文件中扫描其他组件。 

在spring的配置文件中配置:

  • 1

在springMVC的配置文件中配置:

  • 1

这样就能各司其职了。 

在使用中,这两个配置文件作用不同。如果要使用@Value注入一些系统配置文件中的变量时要注意:如果要在controller中使用注入的变量,需要在springMVC的配置文件中配置:

  • 1

如果只在spring的配置文件中配置,那么在controller中是不会注入成功的。 

测试demo如下:

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {
"classpath:applicationContext.xml","classpath:servlet-dispatcher.xml"})public class InjecTest { @Value("${ly.key}") private String key; @Test public void test(){ System.out.println("注入的key为:"+key); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

基于@Value进行注入时有两种方式,占位符和spel表达式

//占位符方式    @Value("${jdbc.url}")    private String url;
  • 1
  • 2
  • 3
//SpEL表达方式,其中代表xml配置文件中的id值configProperties    @Value("#{configProperties['jdbc.username']}")    private String userName;
  • 1
  • 2
  • 3

这两种方式需要在xml中配置时也是不一样的

classpath:config/resource/dev/application.properties
classpath:config/resource/dev/lyframework.properties
classpath:config/resource/dev/common.properties
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
classpath:/conf/jdbc.properties
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

转载于:https://www.cnblogs.com/zjj1996/p/9139377.html

你可能感兴趣的文章
Openssl genrsa命令
查看>>
Openssl crl2pkcs7命令
查看>>
MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?...
查看>>
我最宏大的个人愿望
查看>>
北漂周记--第5记--拼命编程
查看>>
比赛总结一
查看>>
SpringBoot项目打包
查看>>
JSP的3种方式实现radio ,checkBox,select的默认选择值
查看>>
Linux操作系统 和 Windows操作系统 的区别
查看>>
《QQ欢乐斗地主》山寨版
查看>>
文件流的使用以及序列化和反序列化的方法使用
查看>>
Android-多线程AsyncTask
查看>>
第一个Spring冲刺周期团队进展报告
查看>>
C++函数基础知识
查看>>
红黑树 c++ 实现
查看>>
Android 获取网络链接类型
查看>>
报表服务框架:WEB前端UI
查看>>
5.9UDP客户端服务器-基于OK6410
查看>>
java自学基础、项目实战网站推荐
查看>>
软件包的使用
查看>>