Maven入門系列(五)——在STS應用Maven項目開發入門

我寫這個入門系列只是想給那些「Maven是什麼」的學弟和學妹們一個快速入門的幫助,爲了記念曾經也走了不少彎路的本身,即便本身也還有很長的路在前面。因此,各路神仙就不要說什麼太基礎之類的話吧,有那個時間陪陪老爸老媽、哄哄妹子、玩兩局dota也比在網上噴人強。java

有了以前的幾個blog,那麼在實際開發中maven是幫助咱們的呢。apache

最大的幫助,就是當咱們須要一個第三方組件和框架時,我不須要再各類官網和論壇內找各類各樣的jar了。有時候組件之間可能存在依賴,致使咱們時常遺漏。(本文出自:http://my.oschina.net/u/1156339/blog/399311)瀏覽器

下面我舉個例子。好比我如今想編寫一個反射程序,用來修改Person類的屬性值。我想利用beantuils來操做這一切。app

平時,我必定會打開瀏覽器,到apache的官網去尋找beanutils的下載連接。但這已經成爲過去。框架

如今我須要作的是,經過STS的Maven組件來管理項目中須要的資源。我只須要將beantils的GVA座標,好吧,也許仍是需到Maven Repo中央倉庫去搜索這個GVA,而後把它提供的dependency複製到項目的POM.xmlmaven

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.happyBKs.Maven</groupId>
  <artifactId>beango</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>beango</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>
    <dependency>
	<groupId>commons-beanutils</groupId>
	<artifactId>commons-beanutils</artifactId>
	<version>1.9.2</version>
</dependency>
  </dependencies>
</project>

以後,一切都會下載好的,不須要咱們操心。就連beanutils須要的common-logging也一塊兒下載了。(平時我時常忘記導入這個common-logging,如今已經不須要擔憂了ui

以後我創建一個Person類
this

package com.happyBKs.Maven.beango;

public class Person {
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	String name;
	int age;

}

而後我就在App類的main裏運行了吧,就不用junit了,你們懂得天然懂。url

package com.happyBKs.Maven.beango;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

import org.apache.commons.beanutils.BeanUtils;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
    	try {
			extracted();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }

	private static void extracted() throws ClassNotFoundException,
			NoSuchMethodException, InstantiationException,
			IllegalAccessException, InvocationTargetException {
		Class c1=Class.forName("com.happyBKs.Maven.beango.Person");
        Constructor con= c1.getConstructor();
        Person sw=(Person) con.newInstance();
        BeanUtils.setProperty(sw, "name", "sword");
        BeanUtils.setProperty(sw, "age", 1);
        System.out.println(sw.getAge());
        System.out.println( "Hello World!" );
	}
}

運行結果以下:spa

1

Hello World!

這正體現了Maven的核心:依賴管理、倉庫、約定優於配置。

好吧,基礎吧。但我想經過這幾篇文章,小白們至少知道了Maven大概是怎麼回事。那麼入門篇就這麼再見吧!happyBKs和你們一塊兒加油!

相關文章
相關標籤/搜索