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. hdu 4836 The Query on the Tree(线段树or树状数组)

    The Query on the Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  2. Meet Apache Wicket

    第一次接触Wicket,如此多的内容是文字,的原贴,希望大家指正 Meet Apache Wicket By JonathanLocke, original author of Wicket 乔纳森· ...

  3. Qt4.8在Windows下的三种编程环境搭建

    Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...

  4. php判断变量是否存在

    isset— 检测变量是否设置, isset() 只能用于变量,因为传递任何其它参数都将造成解析错误.若想检测常量是否已设置,可使用 defined() 函数. 如果已经使用 unset() 释放了一 ...

  5. quick-cocos2d-x游戏开发【7】——scheduler 定时器

    定时器用的地方还是比較多的,游戏中的逻辑推断非常多都是採用每帧运行.quick对于schedule的封装在scheduler这个lua文件里.假设是第一次接触quick的话,可能依照官方的api来写一 ...

  6. Windows Phone开发(6):处理屏幕方向的改变

    原文:Windows Phone开发(6):处理屏幕方向的改变 俺们都知道,智能手机可以通过旋转手机来改变屏幕的显示方向,更多的时候,对于屏幕方向的改变,我们要做出相应的处理,例如,当手机屏幕方向从纵 ...

  7. Windows Phone开发(17):URI映射

    原文:Windows Phone开发(17):URI映射 前面在讲述导航的知识,也讲了控件,也讲了资源,样式,模板,相信大家对UI部分的内容应该有了很直观的认识了.那么今天讲什么呢?不知道大家在练习导 ...

  8. fscanf()功能具体解释

    一旦文件被解析常规时间或使用正则表达式.或者是敲自己太傻代码来解析一个普通文件. 今天突然发现c该图书馆有一个现成的文件可以解析常规功能,这是fscanf()功能.哎 曾经自己做了这么多无用功.在这里 ...

  9. socket计划编制的原则

    socket编程原理 1.问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-rea ...

  10. android数据访问模式:档、SharedPreferences

    android数据访问模式:档.SharedPreferences.SQLite 数据库.Content provider 文件流: 使用java IO流对文件进行读写操作,文件权限默认. 指定文件权 ...