手把手教你搭建自己的Maven项目并引入Spring容器依赖
前言
最近在学习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!#Java##程序员##Spring#