Maven+Spring

关于Maven

Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包。

做过.NET的人应该会联想到Nuget,是的Maven其实就是java的Nuget。最主要的是用来管理包,有了maven我们就不需要单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动的下载jar包到我们的项目中。这样有助于协同开发,自己下载包可能会有版本问题。

创建一个Maven项目

我使用的eclipse有自带的maven插件,因此直接创建就可以了。这里就不介绍如何安装maven了。如何安装maven请参考Eclipse安装Maven插件 但是我知道Eclipse 版本4以上的都自带Maven插件了,其他版本我不了解。

1、创建一个maven项目。File->New->Other->Maven会出现下面的界面

2、选择Maven Project,点击Next,出现项目类型选择,看你的项目,下面绿色箭头和橙色箭头分别对应的是一个Java Project和Jave web项目

3、我这边选择maven-archetype-quickstart做一个Java Project项目,点击Next,填写Group Id和Artifact Id,Version用默认的就可以了

4、点击Finish之后会项目就建好了。会出现下面类似的项目结构,最后又一个Pom.xml包管理的文件

编写一个Spring的项目

1、导入spring所需要的包,点击pom.xml文件出现下面的界面,选择Dependencies然后点击Add

2、点击Add之后会出现,在下面的查找文本框中输入你想要的包名就可以啦

我们spring项目需要这些jar:

org.springframework.aop

org.springframework.aspects

org.springframework.beans

org.springframework.context

org.springframework.context.support

org.springframework.core

org.springframework.expression

此外,为了打印信息,还需要一个Apache Commons Logging API,最新版是commons-logging-1.2

引入所需要的jar之后我们就可以开始第一个spring的项目了,在src/main/java目录下的com.test.first-maven包下新建HelloWorld.java

1
2
3
4
5
6
7
8
9
10
11
public class HelloWorld {
    private String name;
 
    public void setName(String name) {
        this.name = name;
    }
 
    public void printHello() {
        System.out.println("Spring 3 : Hello ! " + name);
    }
}

你会发现com.test.first-maven下包含一个已经创建好的App.java的入口类,修改为

1
2
3
4
5
6
7
8
9
10
11
12
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class App {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext(
                "SpringBeans.xml");
 
        HelloWorld obj = (HelloWorld) context.getBean("helloBean");
        obj.printHello();
    }
}

3、接下来,我们需要新建一个XML文件来配置bean,这个XML的作用是集中在一个地方,配置和管理所有的bean。有关bean可以参考Spring中bean的配置

新建一个Source Folder来放xml等静态文件src/main/resources,并新建SpringBeans.xml(名字可以随意取)

1
2
3
4
5
6
7
8
9
10
 
    <bean id="helloBean" class="com.mkyong.core.HelloWorld">
        <property name="name" value="huaizuo" />
    </bean>
 
</beans>

ClassPathXmlApplicationContext类是用来获取src下的xml文件的,在App.java有调用,这样我们就创建完我们的第一个maven-spring了。

4、运行,右键点击项目> Run As > Java Application

1
Spring 3 : Hello ! huaizuo

参考资料

关于Maven的介绍

http://www.cnblogs.com/xing901022/p/4170248.html 
如何安装Maven

http://dead-knight.iteye.com/blog/1841658 
如何用Maven下载jar

http://liukai.iteye.com/blog/973120 
如何运行一个Maven的web项目

http://flashdream8.iteye.com/blog/1910092 
关于spring

http://www.importnew.com/13246.html

Maven+Spring的更多相关文章

  1. IntelliJ IDEA上创建maven Spring MVC项目

    IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...

  2. Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)

    然后是项目下的文件:完整的项目请看  上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...

  3. maven,spring,mybatis集成错误

    maven,spring,mybatis集成的时候单元测试junit测试没问题,但mvn jetty:run 就报错误 错误: org.apache.ibatis.binding.BindingExc ...

  4. maven Spring MVC项目

    IntelliJ IDEA上创建maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...

  5. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

    文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...

  6. 用Eclipse 搭建一个Maven Spring SpringMVC 项目

    1: 先创建一个maven web  项目: 可以参照之前的文章:  用Maven 创建一个 简单的 JavaWeb 项目 创建好之后的目录是这样的; 2: 先配置maven  修改pom.xml & ...

  7. ssm maven spring AOP读写分离

    ssm maven spring AOP读写分离 总体流程 配置最开始写在pom.xml文件,解析到数据库配置文件,再解析到spring配置文件. 自定义注解DataSource:通过这个注解并且在s ...

  8. mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)

    继续 mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上) 五.使用监听器启动Spring容器 1.修改pom.xml文件,添加Spring-we ...

  9. idea+maven+spring+cxf创建webservice应用(二)生成客户端程序

    idea+maven+spring+cxf创建webservice应用(二)生成客户端程序,以上一篇为基础"idea+maven+spring+cxf创建webservice应用" ...

随机推荐

  1. SWT中的GridLayout(转)例子不错

    GridLayout 是一个非常强大的布局管理器,它可以实现很多复杂的布局,名字中暗示它将所有控件放置在类似网格的布局中.^__^GridLayout 有两个构造函数. GridLayout的构造函数 ...

  2. shufe前辈名师

    前辈名师 姓名 现职/原职 郭秉文 中国现代大学之父.国立东南大学校长.哥伦比亚大学教育学博士,该校第一任校长.为了纪念郭秉文先生,勉励优秀学子,郭夏瑜女士在上海财经大学等校设立了“郭秉文奖学金” 马 ...

  3. php-GD库的函数(二)

    <?php //imagecopy — 拷贝图像的一部分粘贴到某图像上 /*bool imagecopy ( resource $dst_im , resource $src_im , int ...

  4. hdu 4472 Count (递推)

    Count Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  5. html网页特殊符号代码

    HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字.下面就是以字母或数字表示的特殊符号大全.                   ...

  6. ArcGIS SDE 10.1 for Postgresql 服务连接配置

    去年写了ArcGIS 10.1 如何连接Postgresql 数据库(http://blog.csdn.net/arcgis_all/article/details/8202709)当时采用的也是Ar ...

  7. Python 的PyCurl模块使用

    PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...

  8. EasyUI基础searchbox&amp;progressbar(搜索框,进度条)

    easyui学习的基本组成部分(八个部分)硕果仅存searchbox和pargressbar.tooltip该,有一点兴奋.本文将偏向searchbox和pargressbar做一个探讨.鉴于双方的内 ...

  9. 怎么确定你的CPU是否支持64位虚拟化

    http://www.grc.com/securable.htm 第一个64位表示你的电脑最多支持多少位的系统,32或者64. 第二个表示你的硬件是否支持DEP?Yes,支持.No,不支持.OFF,表 ...

  10. enumerateObjectsUsingBlock、enumerateObjectsWithOptions、enumerateObjectsAtIndexes、makeObjectsPerfor使用

    OC至 NSArray它提供了一个方便的遍历block,以下具体说明 第一.enumerateObjectsUsingBlock NSArray *array=@[@"aa",@& ...