maven基于spring框架的工程代码结构解读

maven工程师现在企业项目开发项目中,最常用的一种。相对传统工程,可以替我们管理好jar包,不用自己下载,避免了很多麻烦。对maven工程的目录进行一下简单的解析。
maven下共有以下几个目录:
/src/main/java --用语放置开发的代码
/src/main/resources --工程的配置文件,如logback.xml、application.properties等。
/src/test/java --测试代码,通常是junit单元测试的测试内容
/src/test/resources --测试配置文件

在某些情况下,maven工程的某个目录会缺失,这种情况可以按如下方法解决(eclipse开发工具):
1.右键项目---》properties---》先找一下project facets---》勾选上utility model---》点OK---》
2.右键项目---》properties---》deployment assembl---》点OK---》/src/main/resources就出来了

当我们开发一个基于spring框架的web工程的时候,最首先要了解这个工程的启动和配置过程。最近用的比较多,说点最基本的,看一个工程应该从哪里开始看。
当我们新建了一个spring工程,启动该工程的时候,他的配置文件搜索过程如下:
1.首先找到web.xml文件,
在maven工程中他的路径通常是src/main/webapp/WEB-INF下。

这是一个web工程最基本的配置文件,他在spring工程中会有内容写明去哪里找spring的配置文件applicationContext.xml。
例如:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/application-context.xml</param-value>
</context-param>

同时,他可能会注册一些监听器,启动项目的时候加载,如:
<listener>
<listener-class>com.test.init.SystemInitListener</listener-class>
</listener>

2.在applicationContext.xml我们会注册一些javaBean、加载一些需要用户配置的常量、注明一些其他需要加载的配置文件。有些可能如下所示:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="order" value="1" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="locations">
<list>
<value>WEB-INF/conf/application.properties</value>
</list>
</property>
</bean>


<bean id="data1SqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="data1DataSource" />
<property name="configLocation">
<value>classpath:sqlMapConfig.xml</value>
</property>
</bean>

<bean id="abc" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="test" value="${test}" />
</bean>
其中,"${}"是指一些变量的值。这些变量的值通常存在另一个配置文件application.properties中。

3.一些其他的配置文件,如logback.xml我们通常会在刚才注册的监听器SystemInitListener中加载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值