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天的时间左右,虽然不是很熟练,但是在这两天中,学到了蛮多的东西,参考别人的博客,文章,看官方的文档,进行编程,这过程还是蛮享受的。希望我的学习过程能对观看的你也有帮助,有不懂的,或者觉得我的有问题,我们可以一起交流,学习,一起进步。
































































  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Maven项目中配置Spring,需要在pom.xml文件中添加Spring依赖项。具体步骤如下: 1. 打开pom.xml文件,添加以下代码段: ```xml <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.6.RELEASE</version> </dependency> </dependencies> ``` 这会将Spring的核心上下文库添加到您的项目中。 2. 如果您正在使用Spring MVC,则需要添加以下依赖项: ```xml <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.6.RELEASE</version> </dependency> </dependencies> ``` 这将添加Spring MVC库,其中包含用于Web应用程序的Spring功能。 3. 如果您正在使用Spring Boot,则可以使用Spring Boot Starter来轻松添加所有必需的Spring依赖项。例如,如果您正在构建Web应用程序,则可以添加以下依赖项: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.3.0.RELEASE</version> </dependency> </dependencies> ``` 这将自动添加Spring Web MVC库以及其他必需的依赖项。 4. 最后,您需要在应用程序中使用Spring注解来访问Spring功能。添加以下代码段以启用Spring注解处理: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <compilerArguments> <endorseddirs>${endorsed.dir}</endorseddirs> </compilerArguments> </configuration> </plugin> </plugins> </build> ``` 这将确保Maven编译器正确处理Spring注解。 完成后,您的Maven项目就已经可以使用Spring了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值