2015-12-25:
类加载路径classpath: classpath:/ 是等价的。都是相对于类的根路径。
classpath*:加载所有相同的classpath下的资源。
例如自己的项目路径和引入的jar包的路径重叠,
那么:
classpath:只扫描第一个加载的包。
classpath*: 加载所有的包
2015-12-14:
下面的classpath路径问题,其实有一个非常方便的方法解决!
就是查看项目中的build目录下的class目录。
这下面的是项目编译过后产生的,路径一目了然
注意:
2015-12-10:发现一个极其奇怪的问题,即classpath
本示例完美运行,然而之后本人新建立一个项目,结构一致,然而
当我配置log的时候,
classpath*:log/log4j.properties 提示无法找到
classpath*:spring/spring.xml这个却找到了
换成
classpath:log/log4j.properties则日志OK
classpath:spring/spring.xml 也OK
classpath*:spring/spring.xml 也OK
classpath*:common/jdbc.properties 也OK
不明就里
最后全部统一
classpath:log/log4j.properties
classpath:spring/spring.xml
目录
- 概述
- 建立项目
- 配置Spring.xml文件
- 编写完整流程代码
- 总结
No.1 概述
Spring框架在此不多介绍。本文是作为一名初学者的角度,来一步步建立起一个完整的Spring web项目并且调试通过。整个项目尽量做到简单,使用最新的jar。
环境:eclipse,mysql
No.2 建立项目
第一步:建立一个动态web工程,取名MySpring,点击next,next,选择生成web.xml
第二步:在WEB-INF的lib目录下引入jar包,基本的jar以及依赖的jar
其中包括连接mysql以及httpclient的jar
第三步:建立工程目录,本例取名com.csdn.myspring,以及简单的目录结构
- resource存放资源文件(properties,xml等)
- test存放测试用例
结构如图所示:(为了简单,并没有考虑代码的’优雅’)
No.3 配置spring xml文件
1.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>MySpring</display-name>
<!--之前这个地方加了个contex:param-name,contextConfigLocation以及相应的listener,后来发现每次bean都被创建了两次,貌似这种是针对放到WEB-INF下的Application.xml,我们手动指定了目录,则不要这个-->
<!--添加对日志的监听-->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!--添加springmvc的servlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!--容器启动的时候加载指定目录的配置文件-->
<!--classpath*:resouce/spring/spring.xml如果resource和src是平级的,那么不加resource-->
<param-value>classpath*:spring/spring.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--设置过滤模式,此处是全接收-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--设置编码,但是目前看来没什么用-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
2.加入相应的配置文件
(此处为了结构清晰,易于扩展,spring.xml仅仅是一个导入的功能,具体的bean或者数据库的配置在其他的xml来配置)
目录如下: