Eclipse搭建maven项目—简单测试程序(3)

为了用到pom包的基本配置,做一个简单的spring程序来测试。

1.创建

选择菜单项File-New-Other在弹出对话框中选择Maven下的Maven Project
然后单击Next按钮,在弹出的New Maven Project对话框中,使用默认的选项(如果选择Create a simple project选项,
那样我们就不能使用Maven Archetype,有小示例和空项目区别),点击Next。

maven一个典型的快速开始小项目

由于m2eclipse实际上是在使用maven-archetype-plugin插件创建项目,因此和文章(2)中介绍的纯手写创建
Hello World程序中定义项目基本坐标一样操作。

结构如下,这个maven包可以看出我这个用户的setting.xml文件中定义的maven库在F:\MavenPerson\.m2\repository


2.编写测试代码

删除了src/main/test新增source folder : src/main/resources
1.Car.java
package com.cityeve.beans;

public class Car {
	private String brand;
	private String color;
	private int maxSpeed;
	
	//getter() setter()方法省略
	public Car() {
		System.out.println("无参构造函数");
	}
	public Car(String brand,String color,int maxSpeed) {
		this.brand=brand;
		this.color=color;
		this.maxSpeed=maxSpeed;
	}
	public void introduce(){
		System.out.println("品牌:"+brand+"颜色:"+color+"最大速度:"+maxSpeed+"km/s");
	}
}
2.bean.xml
<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:p="http://www.springframework.org/schema/p"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:aop="http://www.springframework.org/schema/aop"  
    xmlns:tx="http://www.springframework.org/schema/tx"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context.xsd  
        http://www.springframework.org/schema/aop  
        http://www.springframework.org/schema/aop/spring-aop.xsd  
        http://www.springframework.org/schema/tx  
        http://www.springframework.org/schema/tx/spring-tx.xsd">  
	<bean id="car" class="com.cityeve.beans.Car"
		p:brand="雪佛兰"
		p:color="绿色"
		p:maxSpeed="300"
	/>
</beans> 
3.BeanFactoryTest.java
package com.cityeve.test;

import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;

import com.cityeve.beans.Car;


/**
 * 1.org.springframework.beans.factory.BeanFactory是Spring框架最核心的接口,提供了高级的Ioc配置机制。
 * 2.org.springframework.context.ApplicationContext建立在BeanFactory的基础之上,提供更多面向应用的功能
 * 适合于创建实际应用;
 */
public class BeanFactoryTest {
	public static void main(String[] args) throws Exception{
		/**
		 * 1.使用ApplicationContext启动spring容器获取bean实例
		 */
		ApplicationContext ac=new ClassPathXmlApplicationContext("bean.xml");
		Car car1=(Car)ac.getBean("car");
		car1.introduce();
		
		/**
		 * 2.通过BeanFactory装载配置文件,启动spring Ioc容器。
		 */
		ResourcePatternResolver resolver=new PathMatchingResourcePatternResolver();
		Resource res=resolver.getResource("classpath:bean.xml");
		System.out.println(res.getURL());
		//被废弃,不建议使用,用下面的
		//BeanFactory bf=new XmlBeanFactory(res);
		DefaultListableBeanFactory factory=new DefaultListableBeanFactory();
		//XmlBeanDefinitionReader通过Resource装载spring配置信息并启动Ioc容器,然后就可以通过BeanFactory#getbean(beanName)
		//方法从Ioc容器获取bean
		XmlBeanDefinitionReader reader=new XmlBeanDefinitionReader(factory);
		reader.loadBeanDefinitions(res);
		System.out.println("init BeanFactory");
		Car car=factory.getBean("car",Car.class);
		System.out.println("car bean is ready for use");
		car.introduce();
	}
}
4.pom.xml
<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.cityeve</groupId>
  <artifactId>MyTest</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>MyTest</name>
  <url>http://maven.apache.org</url>

  <properties>
  	<!-- spring的版本配置 -->
  	<spring.version>3.2.4.RELEASE</spring.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <!-- spring start -->  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-aop</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-aspects</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-beans</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-context</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-context-support</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-core</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-expression</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-jdbc</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-orm</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-test</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-tx</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-web</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-webmvc</artifactId>  
        <version>${spring.version}</version>  
    </dependency>  
    <!-- spring end -->
  </dependencies>
</project>








猜你喜欢

转载自blog.csdn.net/zhouhaisunny/article/details/78521606
今日推荐