在这里,使用Maven构建一个Spring项目

构建单独项目的话,其实都差不多

1. 新建一个Web项目

参考之前的博客

2.修改 pom.xml,添加Spring依赖

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.deppon.demo</groupId>
  5. <artifactId>test04</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>test04 Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10. <!-- 属性配置 -->
  11. <properties>
  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13. </properties>
  14. <dependencies>
  15. <dependency>
  16. <groupId>junit</groupId>
  17. <artifactId>junit</artifactId>
  18. <version>4.10</version>
  19. <scope>test</scope>
  20. </dependency>
  21. <!-- 添加Spring依赖 -->
  22. <dependency>
  23. <groupId>org.springframework</groupId>
  24. <artifactId>spring-core</artifactId>
  25. <version>3.1.1.RELEASE</version>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.springframework</groupId>
  29. <artifactId>spring-beans</artifactId>
  30. <version>3.1.1.RELEASE</version>
  31. </dependency>
  32. <dependency>
  33. <groupId>org.springframework</groupId>
  34. <artifactId>spring-context</artifactId>
  35. <version>3.1.1.RELEASE</version>
  36. </dependency>
  37. <dependency>
  38. <groupId>org.springframework</groupId>
  39. <artifactId>spring-jdbc</artifactId>
  40. <version>3.1.1.RELEASE</version>
  41. </dependency>
  42. </dependencies>
  43. <build>
  44. <finalName>test04</finalName>
  45. </build>
  46. </project>

3.添加Spring配置文件,applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
  4. xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="
  6. http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  8. http://www.springframework.org/schema/tx
  9. http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  10. http://www.springframework.org/schema/aop
  11. http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  14. <bean id="personDao" class="com.deppon.test04.dao.impl.PersonDao"></bean>
  15. <bean id="personService" class="com.deppon.test04.service.impl.PersonService">
  16. <property name="personDao" ref="personDao"></property>
  17. </bean>
  18. </beans>

IPersonDao.java

  1. package com.deppon.test04.dao;
  2. public interface IPersonDao {
  3. public void save();
  4. }

PersonDao.java

  1. package com.deppon.test04.dao.impl;
  2. import com.deppon.test04.dao.IPersonDao;
  3. public class PersonDao implements IPersonDao {
  4. @Override
  5. public void save() {
  6. System.out.println("------------from PersonDao.save()");
  7. }
  8. }

IPersonService.java

  1. package com.deppon.test04.service;
  2. public interface IPersonService {
  3. public void processSave();
  4. }

PersonService.java

  1. package com.deppon.test04.service.impl;
  2. import com.deppon.test04.dao.IPersonDao;
  3. import com.deppon.test04.service.IPersonService;
  4. public class PersonService implements IPersonService {
  5. private IPersonDao personDao;
  6. public void setPersonDao(IPersonDao personDao) {
  7. this.personDao = personDao;
  8. }
  9. @Override
  10. public void processSave() {
  11. System.out.println("-------------from PersonService.processSave()");
  12. personDao.save();
  13. }
  14. }

测试类:PersonServiceTest.java

  1. package com.deppon.test04.service;
  2. import org.junit.Before;
  3. import org.junit.Test;
  4. import org.springframework.beans.factory.BeanFactory;
  5. import org.springframework.context.support.ClassPathXmlApplicationContext;
  6. public class PersonServiceTest {
  7. private BeanFactory factory = null;
  8. @Before
  9. public void before() {
  10. factory = new ClassPathXmlApplicationContext("applicationContext.xml");
  11. }
  12. @Test
  13. public void testSpring() {
  14. IPersonService personService = (IPersonService) factory.getBean("personService");
  15. personService.processSave();
  16. }
  17. }

项目结构如下图所示:

注意:

在运行测试程序之前,还需要运行两个命令:(ps:可能出现找不到applicationContext.xml的错误!)

1. mvn compile

2.mvn test-compile

运行结果:

Maven的学习资料收集--(七) 构建Spring项目的更多相关文章

  1. Maven的学习资料收集--(九) 构建SSH项目以及专栏maven

    在这里整合一下,使用Maven构建一个SSH项目 1.新建一个Web项目 可以参照前面的博客 2.添加依赖,修改pom.xml <project xmlns="http://maven ...

  2. Maven的学习资料收集--(八) 构建MyBatis项目

    在这里,写一下,怎么使用Maven构建MyBatis项目. 1. 新建一个Web项目 可以参考前面的博客 2. 修改pom.xml,添加MyBatis依赖 <project xmlns=&quo ...

  3. Maven的学习资料收集--(十)Myeclipse下创建Maven的Web项目

    先要在MyEclipse中对Maven进行设置: 到此Maven对MyEclipse的支持设置完毕.   下面我们在MyEclipse中创建一个Maven标准的Web工程: New --> We ...

  4. Maven的学习资料收集--(五)使用Maven构建Struts2项目

    在前两篇博客中,使用Maven构建了Web项目,在这篇博客中写一下,怎样构建一个简单的Struts2项目. 在准备过程中发现,要使用好Maven,个人觉得要好好利用这两个网站: http://mvnr ...

  5. Maven的学习资料收集--(三)使用Maven构建Web项目

    新建Maven项目 File - New - Other 选择Maven Project 单击Next 保持默认即可单击Next 选择Archetype为 web app单击Next 输入一些必要信息 ...

  6. Maven的学习资料收集--(六) 构建Hibernate项目

    前面我们使用Maven构建了Struts2项目,这里我们来试一下Hibernate项目: 这里的例子,大体框架应该是正确的,但是,对于Maven的很多约定都没有掌握,估计包的命名都不是非常好,等以后, ...

  7. Maven的学习资料收集--(四)使用Maven构建Web项目-测试

    2014-08-04 23:21 2人阅读 评论(0) 收藏 编辑 删除   目录(?)[+]   [-] 在srcmainjava下新建一个Servlet 修改webxml 新建JSP 测试   在 ...

  8. Maven的学习资料收集--(一)环境搭建

    这几天在做项目的时候用到了maven,但是自己没有从来没有接触过,所以咋网上找资料,终于找到了一下的资料,这个是别人总结的,我只是转载过来积累.请尊重原创. 官网地址:http://maven.apa ...

  9. Maven的学习资料收集--(二)安装m2eclipse插件

    在Eclipse中可以安装Maven插件,可以更方便的使用: 官网地址:http://www.eclipse.org/m2e/ 可以在线安装或者离线下载,之前在线安装总是失败,可能是网速的原因,找到了 ...

随机推荐

  1. Python-编写一个mysql注入漏洞检测工具

    判断mysql网站是否存在注入漏洞的几个方法: 注入点后加上一个单引号会报错 and 1=1返回正常页面,and 1=2返回的页面不同于正常页面 and sleep(3) 网页会等待3秒左右 根据返回 ...

  2. SVD实例

    >> X = rand(5,7) X = 0.9797 0.1365 0.6614 0.5828 0.2259 0.2091 0.5678 0.2714 0.0118 0.2844 0.4 ...

  3. CentOS7下二进制文件安装MySQL5.6

    1.查看已装包 [root@host2 ~]# rpm -qa | grep mysql mysql-libs-5.1.71-1.el6.x86_64 [root@host2 ~]# [root@ho ...

  4. /*去hover动画效果*/

    <!DOCTYPE html> /*去hover动画效果*/ <html lang="en"> <head> <meta charset= ...

  5. [51nod1101]换零钱

    题意:给定钱,计算其能换成零钱的分类种数. 解题关键:完全背包计数. $dp[i][j]$表示前i个物品构成j元的种类数,然后优化一维. #include<bits/stdc++.h> u ...

  6. jquery提供的数据提交方式1

    1,ajax提交,部分代码为easyui function editNode(id){ $.ajax({ dataType:'json', async:true, //默认的就是异步提交 type:' ...

  7. 20169201 使用Metaspoit攻击MS08-067实验

    MS08-067漏洞介绍 MS08-067漏洞的全称为"Windows Server服务RPC请求缓冲区溢出漏洞",如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允 ...

  8. Cactus详细讲解

    Cactus建议一年以上有经验的人玩,刚入门MVC,不了解下列组件请先自行学习,切勿好高骛远. Cactus的组成(基于.net4.5.2):Dapper+MVC4+autofac 前端css框架pu ...

  9. ApiDoc 一键生成注释

    本文来自网易云社区. 作者:盛国存 背景 我们日常在使用ApiDoc维护管理api文档,提高了api文档的整体维护性.但在老旧接口中,补充接口注解无疑是一次繁重的体力劳动.仔细查看,大多数接口的格式 ...

  10. git 仓库拆分方案对比

    此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 git 拆分仓库在网上已有的案例上来看,分为 submodule 和 subtree. 还有基于这两个方 ...