likes
comments
collection
share

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖

作者站长头像
站长
· 阅读数 25

前言

最近在学习Maven和Spring,我也是刚刚开始学习,在这里做个学习记录并且分享一些我自己的学习经验,对Maven和Spring感兴趣的小伙伴可以一起来学习,有任何问题也欢迎一起来交流讨论。

Spring简介

Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。

Spring优点

  • 低侵入式设计,代码的污染极低。
  • 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。
  • Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
  • Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。
  • Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
  • Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。

Spring环境搭建

频繁导入包十分繁琐我们直接使用Maven进行项目依赖管理。下面是我使用的环境版本。对于Maven还不了解或者还不会配置的小伙伴可以去看我上一篇文章。

  1. Maven 3.8.6
  2. IntelliJ IDEA 2021.1.1 x64(我用的是IDEA,不要说Eclipse比IDEA好用什么的,工具选择符合个人习惯就好)
  3. Jdk 11.0.5

新建项目

选择Jdk版本

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖

选择一个最简单的模块

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖

命名

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖

选择Maven仓库

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖 可以配置一下默认Maven仓库地址,不用每次新建项目都重新配置了。

创建项目成功后项目结构目录如下:

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖

如果有报错,一般都是版本问题。

使用Maven引入Spring依赖

Maven大部份依赖都可以在这个网站中找到mvnrepository.com/ ,找到需要的依赖后复制坐标粘贴到项目pom.xml文件中。

我现在前面设置了Spring版本

<properties>
  <maven.compiler.source>11</maven.compiler.source>
  <maven.compiler.target>11</maven.compiler.target>
  <spring.version>5.3.15</spring.version>
</properties>
<!-- Spring -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</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>

创建项目资源文件夹

在main文件夹下创建(用于存放Beans.xml)

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖

手把手教你搭建属于自己的第一个Maven项目并引入Spring容器依赖

在main/java/组id的包里新建java文件

package org.example;

public class HelloWorld {
    private String message;
    public void setMessage(String message) {
        this.message = message;
    }
    public void getMessage() {
        System.out.println("message : " + message);
    }
}

在beans中注入对象

具体实现:一个类配置一个标签

<?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-3.0.xsd">

    <bean id="helloworld" class="org.example.HelloWorld">
        <property name="message" value="Hello World!" />
    </bean>


  • id:注入容器的唯一标识

  • class:需要注入类的完全限定类名(类所在的目录)

  • property标签中name表示属性名,value表示属性值

在App中读取配置文件并创建bean

package org.example;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
    public static void main( String[] args ) {
        //创建上下文对象,读取配置文件,bean工厂
        ApplicationContext context=new ClassPathXmlApplicationContext("Beans.xml");
        //创建Bean
        HelloWorld bean= (HelloWorld) context.getBean("helloworld");
        bean.getMessage();
    }
}

输出结果

message : Hello World!