打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
maven与spring的配置

maven与spring的配置

这篇博客主要是maven与spring的配置管理,利用maven来管理spring的依赖包。

本文为原创,转载请注明来至: http://blog.csdn.net/j903829182/article/details/38150795

maven与struts2的配置请参照: http://blog.csdn.net/j903829182/article/details/38128777

maven与hibernate的配置请参照: http://blog.csdn.net/j903829182/article/details/38147659

1.在cmd的dos命令下面利用maven创建一个web项目,不清楚可以参照我前面的两篇的博客。

2.把创建好的项目导入myeclipse,具体导入的方法,这里不再啰嗦了,不清楚的可以看 http://blog.csdn.net/j903829182/article/details/38128777

3.配置好项目的jdk版本,添加目录,修改项目的属性,详细的请参照 http://blog.csdn.net/j903829182/article/details/38128777

4.上面的配置好了以后,基本利用maven管理web项目的初步工作就完成了,接下来进行spring包管理的配置。

5.配置spring的依赖包:

打开pom.xml文件,在里面进行spring包的配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.wj.demo.maven</groupId>  <artifactId>maven4</artifactId>  <packaging>war</packaging>  <version>1.0-SNAPSHOT</version>  <name>maven4 Maven Webapp</name>  <url>http://maven.apache.org</url>  <!-- 属性配置 -->    <properties>     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>    <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.10</version>      <scope>test</scope>    </dependency>            <!-- 添加Spring依赖 ,添加的都是本地的自己的spring的jar包-->      <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-core</artifactId>      <!-- <version>3.1.1.RELEASE</version> -->      <version>4.0.0.M2</version>    </dependency>        <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-beans</artifactId>      <version>4.0.0.M2</version>    </dependency>        <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-context</artifactId>      <version>4.0.0.M2</version>    </dependency>        <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-jdbc</artifactId>      <version>4.0.0.M2</version>    </dependency>            <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-expression</artifactId>      <version>4.0.0.M2</version>    </dependency>        <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-web</artifactId>      <version>4.0.0.M2</version>    </dependency>        <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-webmvc</artifactId>      <version>4.0.0.M2</version>    </dependency>        <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-tx</artifactId>      <version>4.0.0.M2</version>    </dependency>            <dependency>      <groupId>org.apache</groupId>      <artifactId>commons-logging</artifactId>      <version>1.1.3</version>    </dependency>          </dependencies>  <build>    <finalName>maven4</finalName>  </build></project>

注意:我这里配置的包是比较新的,maven的中央仓库,可能还没更新,你如果按照我这样写的话会出错的,所以这里我配置的是自己本地的包,你也可以配置你自己本地的包方法是:

不管是新的包还是老的包, <groupId>****</groupId>里面的内容不变,可以不用改,按照老的配置组织名;

<artifactId>****</artifactId>这里面的内容也不要改,按照老的包配置包名,那哪里要改了???需要改的是<pre name="code" class="html"><version>***</version>版本号,你改成你本地的包的版本,所有的包你都这样配置好了以后,你保存一下,mavne会自动下载你需要的包,如果下载成功则不报错,否则会报错,有错误信息,这说明包下载失败了,那么该怎么办了?
首先,我们看错误的信息提示,到仓库里面找到报错的包,也就下载失败的包的位置,删除错误包目录下里面的所有的东西,把你自己本地的包复制进去,版本要和你的<span style="font-family: Arial, Helvetica, sans-serif;"><version>***</version>一样(包存放的路径,一般以仓库为根目录,以组织名(包一般是jar包,所以你有解压jar包的软件,你双击打开,一路点击下去,看到的就是组织名,我试了几个,的确是这样的)为文件夹的名字一路建立文件夹,最后建立以包名(不包括版本号)为名的文件2夹,最后建立以版本号文件名的文件夹,最后版本 号里面存放的就是对应版本的包)。</span>
其次,包放好了以后,你右击项目---〉选择Maven4Myeclipse----〉选择Update Project,等待更新,接着你在clean一下你的项目就可以了,如果还有错误,显示是没有下载到更新包,你就按照上面的步骤一个一个手动添加自己本地的包到仓库里面。
</pre><pre name="code" class="html">   最后,没有报错了,则说明你的包已经添加成功了。
</pre><pre name="code" class="html">6.添加applicationContext.xml文件到src/main/resources目录下面
<pre name="code" class="html">applicationContext.xml文件里面的内容,在你下载的spring包里面有spring的api可以找到<span style="font-family: Arial, Helvetica, sans-serif;">applicationContext.xml里面的内容我这里spring4.0.0里面的配置信息是:</span>
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans.xsd"><!--   <bean id="..." class="...">    collaborators and configuration for this bean go here  </bean>  <bean id="..." class="...">    collaborators and configuration for this bean go here  </bean>  more bean definitions go here --><bean id="chinese" class="com.imp.Chinese">  </bean>  <bean id="american" class="com.imp.American">  </bean></beans>
</pre><pre>

7.现在你可以测试一下项目,首先在cmd的dos界面里面进入到项目所在的目录中进行编译和测试,输入下面的2条命令:

      1. mvn compile

       2.mvn test-compile

如果不输入上面的2条命令,则可能出现找不到applicationContext.xml的错误!

8.写java代码测试文件都放在src/main/java目录下面,并在 src/main/java下面创建包名,在包里面写类,详细的就不写了,就贴出代码了 :

     1.写一个接口:

package com.face;public interface Human {  public void eat();  public void walk();}

   2.写2个实现接口的类:

package com.imp;import com.face.Human;public class American implements Human{  public void eat() {    // TODO Auto-generated method stub    System.out.println("美国人吃西餐,我不喜欢吃西餐!!!");  }  public void walk() {    // TODO Auto-generated method stub    System.out.println("美国人经常坐车,缺乏运动对身体不好!!!");  }	}
package com.imp;import com.face.Human;public class Chinese implements Human{  public void eat() {    // TODO Auto-generated method stub    System.out.println("中国人很会吃,中国有很多的美食!!!");  }  public void walk() {    // TODO Auto-generated method stub    System.out.println("中国人健步如飞,中国人身体好!!!");  }}

    3.写一个工厂

package com.factory;import com.face.Human;import com.imp.American;import com.imp.Chinese;public class Factory {  public Human getHuman(String name){    if("Chinese".equals(name)){      return new Chinese();    }else if("American".equals(name)){      return new American();    }else{      return null;    }  }}
    4.写一个测试类
package com.test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import com.face.Human;public class TestMain1 {  /**   * @param args   */  public static void main(String[] args) {    // TODO Auto-generated method stub    /*Human human=null;    human=new Factory().getHuman("Chinese");    human.eat();    human.walk();    human=new Factory().getHuman("American");    human.eat();    human.walk();*/        ApplicationContext context =          new FileSystemXmlApplicationContext("src/main/resources/applicationContext.xml");    /*ApplicationContext context =          new ClassPathXmlApplicationContext(new String[] {"services.xml", "applicationContext.xml"});*/    Human human=null;    human=(Human) context.getBean("chinese");    human.eat();    human.walk();    human=(Human) context.getBean("american");    human.eat();    human.walk();  }}

9.现在像编译运行java程序那样运行 TestMain1类

    如果出现了Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

则说明少加了一个包,解决:导入一个commons-logging.jar包即可,包的导入和上面再pom.xml里面配置包是一样的

如果出现了:Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: 

IOException parsing XML document from file [G:\maven\maven4\src\applicationContext.xml]; nested exception is java.io.FileNotFoundException: 

src\applicationContext.xml (系统找不到指定的文件。)

Caused by: java.io.FileNotFoundException: applicationContext.xml (系统找不到指定的文件。)

          解决:首先看是否已经进行了

1. mvn compile       2.mvn test-compile 操作,没有则进行这样的操作,如果已经进行了,还有错误,按照提示说明在目录 G:\maven\maven4\src\applicationContext.xml]下面是不存在 applicationContext.xml所以,检查main方法里面的 FileSystemXmlApplicationContext的构造函数的参数是否是 "src/main/resources/applicationContext.xml",不是的话,则改成这样的。如下所示:

ApplicationContext context =

   new FileSystemXmlApplicationContext("src/main/resources/applicationContext.xml");

10.一切ok的话,则console会输出下面的信息

2014-7-26 22:01:07 org.springframework.context.support.FileSystemXmlApplicationContext prepareRefresh

信息: Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@742808b3: startup date [Sat Jul 26 22:01:07 CST 2014]; root of context hierarchy

2014-7-26 22:01:07 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

信息: Loading XML bean definitions from file [G:\maven\maven4\src\main\resources\applicationContext.xml]

中国人很会吃,中国有很多的美食!!!

中国人健步如飞,中国人身体好!!!

美国人吃西餐,我不喜欢吃西餐!!!

美国人经常坐车,缺乏运动对身体不好!!!

11.项目的目录结构:

总结:经过几天maven的学习,利用maven搭建了struts2,hibernate,和spring,对maven的基本使用有了一定的了解,基本上会使用了,对于maven搭建ssh,步骤比较多,不过也不难,利用maven搭建struts2,hibernate,spring的知识,相信利用maven搭建ssh不是什么难事了。经过利用maven管理配置包,方便就是,随时可以加入包,撤销包,比较的方面,而且,如果不是新版本的包,基本上maven自己会给我们下载好。对于maven从不熟悉到会用,大概花了2天的时间左右,虽然不是很熟练,但是在这两天中,学到了蛮多的东西,参考别人的博客,文章,看官方的文档,进行编程,这过程还是蛮享受的。希望我的学习过程能对观看的你也有帮助,有不懂的,或者觉得我的有问题,我们可以一起交流,学习,一起进步。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
基于Maven的Spring + Spring MVC + Mybatis的环境搭建 | AmazingHarry
eclipse构建maven+spring+mybatis控制台应用。
【java】intellij idea 超详细图解从0搭建SSM框架
Spring3.0与Quartz的整合实现定时任务调度
SSM 框架 Maven项目整合实例
使用Intellij Ant打包ReportNg
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服