手把手教你搭建属于自己的第一个Maven项目并引入Spring容
2023-03-01 本文已影响0人
分布式与微服务
前言
最近在学习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还不了解或者还不会配置的小伙伴可以去看我上一篇文章。
- Maven 3.8.6
- IntelliJ IDEA 2021.1.1 x64(我用的是IDEA,不要说Eclipse比IDEA好用什么的,工具选择符合个人习惯就好)
- Jdk 11.0.5
新建项目
选择Jdk版本
选择一个最简单的模块
命名
选择Maven仓库
可以配置一下默认Maven仓库地址,不用每次新建项目都重新配置了。
创建项目成功后项目结构目录如下:
如果有报错,一般都是版本问题。
使用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)
在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!