Spring初学 - 2.通过MAVEN构建Spring项目


1. 安装Maven

1.1 官网下载Maven

1.2 解压并配置环境变量

 并将maven的bin目录添加到path

2. Maven仓库配置

2.1 在配置文件(apache-maven-3.8.5\conf\settings.xml)添加配置

 
<localRepository>F:\MavenRepolocalRepository>


<mirror>
    <id>aliyunmavenid>
    <mirrorOf>*mirrorOf>
    <name>阿里云公共仓库name>
    <url>https://maven.aliyun.com/repository/publicurl>
mirror>

<repository>
    <id>springid>
    <url>https://maven.aliyun.com/repository/springurl>
    <releases>
        <enabled>trueenabled>
    releases>
    <snapshots>
        <enabled>trueenabled>
    snapshots>
repository>

3. idea使用

3.1 配置maven

 3.2 创建mvn-web项目,执行mvn的版本,配置和仓库路径

4. 编写简单的Spring代码

 4.1 目录结构

 4.2 各个文件的内容

ApplicationContext.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="sUser" class="com.mySprint.user"> bean>

beans>

user.java

package com.mySprint;

public class user {
    public void say(){
        System.out.println("I am a user class");
    }
}

testUser.java

import com.mySprint.user;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class testUser {
    @Test
    public  void getUser(){
        user u = new user();
        u.say();
    }
//  通过完整路径导入bean.xml文件
    @Test
    public  void getUserBySpring(){
        ApplicationContext classPathXmlApplicationContext = new FileSystemXmlApplicationContext("F:\\myspace\\java_space\\SpringTestByMaven\\src\\main\\resources\\ApplicationContext.xml");
        user sUser =  classPathXmlApplicationContext.getBean("sUser", user.class);
        sUser.say();
    }
    //  通过相对路径导入bean.xml文件
    @Test
    public  void getUserBySpring1(){
        ApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("ApplicationContext.xml");
        user sUser =  classPathXmlApplicationContext.getBean("sUser", user.class);
        sUser.say();
    }
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<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.0modelVersion>

  <groupId>org.mySpringTestgroupId>
  <artifactId>SpringTestByMavenartifactId>
  <version>1.0-SNAPSHOTversion>
  <packaging>warpackaging>

  <name>SpringTestByMaven Maven Webappname>
  
  <url>http://www.example.comurl>

  <properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <maven.compiler.source>1.7maven.compiler.source>
    <maven.compiler.target>1.7maven.compiler.target>
  properties>

  <dependencies>
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.11version>
      <scope>testscope>
    dependency>

    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-beansartifactId>
      <version>5.2.6.RELEASEversion>
    dependency>

    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-contextartifactId>
      <version>5.2.6.RELEASEversion>
    dependency>    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-coreartifactId>
      <version>5.2.6.RELEASEversion>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-expressionartifactId>
      <version>5.2.6.RELEASEversion>
    dependency>
  dependencies>

  <build>
    <finalName>SpringTestByMavenfinalName>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-clean-pluginartifactId>
          <version>3.1.0version>
        plugin>
        
        <plugin>
          <artifactId>maven-resources-pluginartifactId>
          <version>3.0.2version>
        plugin>
        <plugin>
          <artifactId>maven-compiler-pluginartifactId>
          <version>3.8.0version>
        plugin>
        <plugin>
          <artifactId>maven-surefire-pluginartifactId>
          <version>2.22.1version>
        plugin>
        <plugin>
          <artifactId>maven-war-pluginartifactId>
          <version>3.2.2version>
        plugin>
        <plugin>
          <artifactId>maven-install-pluginartifactId>
          <version>2.5.2version>
        plugin>
        <plugin>
          <artifactId>maven-deploy-pluginartifactId>
          <version>2.8.2version>
        plugin>
      plugins>
    pluginManagement>
  build>
project>