Maven + Spring IOC + lombok
一、什么是Apache Maven?
Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以管理一个项目的从中心信息段构建、报告和文档。
二、Maven环境配置
1、Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK。
项目 | 要求 |
---|---|
JDK | 1.7或更高版本 |
内存 | 没有最低要求 |
磁盘 | Maven 自身安装需要大约 10 MB 空间,但预期至少 500 MB |
2、Maven下载
http://maven.apache.org/download.cgi
3、设置Maven环境变量
在cmd输入mvn -v可以查看已配置的maven等详细信息
三、Spring IoC容器
1、IoC也称为依赖注入(DI)。在此过程中,对象仅通过构造函数参数,工厂方法的参数或在构造或从工厂方法返回后在对象实例上设置的属性来定义其依赖项(即,与它们一起使用的其他对象) 。然后,容器在创建bean时注入那些依赖项。此过程从根本上讲是通过使用类的直接构造或诸如服务定位器模式之类的方法来控制其依赖项的实例化或位置的bean本身的逆过程(因此称为Control Inversion)。
2、以下示例显示了基于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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
3、实例理解IOC
3.1
在XML中:
3.2、实例化容器
提供给ApplicationContext构造函数的一个或多个位置路径是资源字符串,这些资源字符串使容器可以从各种外部资源(例如本地文件系统,Java等)加载配置元数据CLASSPATH。
4、创建对象
四、lombok
Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。
1、添加maven依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
2、安装插件
3、实例理解lombok
不使用Lombok
public class Student1 {
private int id;
private String name;
public Student1() {
}
public Student1(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
使用Lombok
import lombok.*;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Student {
private int id;
private String name;
}
4、常用的注解
@Data:注解在 类 上;提供类所有属性的 get 和 set 方法,此外还提供了 equals、canEqual、hashCode、toString 方法。
@Setter
@Getter
@Log4j
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
@NonNull
@Cleanup
@ToString
@RequiredArgsConstructor
@Value
@SneakyThrows
@Synchronized