- 标题
Spring5 学习之基础知识总结
-
简介
Spring 是一个轻量级的、开源的框架,目的是简化 Java 开发。它处理了应用程序的基础设施,使开发人员可以专注于业务逻辑。在本文中,将会总结 Spring5 的基础知识,包括如何创建 Spring 应用程序、依赖注入、AOP 技术等。 -
Spring5 应用程序的创建
以下是 Spring5 应用程序的创建步骤: - 导入 Spring 框架依赖
- 创建 Spring 的配置文件
- 创建 Spring 的核心容器
- ApplicationContext 是 Spring 提供的核心容器之一
- 它会在初始化时先读取配置文件中的配置信息,生成相应的 bean
- 从 Spring 容器中获取 bean 对象,使用该对象进行编程
实例代码如下:
// 导入 Spring 框架依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
// 创建 Spring 的配置文件
<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">
<!-- 定义一个名为 "myBean" 的 bean 对象 -->
<bean id="myBean" class="com.example.MyClass">
<constructor-arg value="Hello, world!" />
</bean>
</beans>
// 创建 Spring 的核心容器
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// 从 Spring 容器中获取 bean 对象
MyClass myBean = (MyClass)context.getBean("myBean");
myBean.sayHello();
- 依赖注入(Dependency Injection)
依赖注入是 Spring 中最主要的特性之一,它将对象的创建和对象之间的依赖关系解耦了。Spring 实现依赖注入的方式有三种:通过构造函数、setter 方法和注解。其中,注解是 Spring5 开始推荐使用的方式。
// 使用构造函数注入依赖
public class MyService {
private final MyRepository repository;
public MyService(MyRepository repository) {
this.repository = repository;
}
}
// 使用 setter 方法注入依赖
public class MyService {
private MyRepository repository;
public void setMyRepository(MyRepository repository) {
this.repository = repository;
}
}
// 使用注解注入依赖
public class MyService {
@Autowired
private MyRepository repository;
}
- AOP(面向切面编程)
AOP 技术是一种编程范式,用于分离关注点的逻辑。在 Spring5 中,使用 AOP 技术需要了解以下几个概念: - 通知(Advice):定义了在何时何地执行的代码
- 切点(Pointcut):定义了横切逻辑所应用的目标方法
- 切面(Aspect):通知和切点的组合
下面以一个简单的日志示例来演示 AOP 技术的使用。
// 定义一个切面类
@Aspect
public class LoggingAspect {
@Before("execution(public void com.example.MyService.sayHello(..))")
public void logBefore() {
System.out.println("开始执行 MyService 的 sayHello 方法");
}
}
// 在 Spring 的配置文件中添加以下内容
<aop:aspectj-autoproxy />
<bean id="loggingAspect" class="com.example.LoggingAspect" />
// 执行 MyService 的 sayHello 方法
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
MyService myService = (MyService)context.getBean("myService");
myService.sayHello();
输出结果如下:
开始执行 MyService 的 sayHello 方法
Hello, world!
- 总结
Spring5 中,应用程序创建、依赖注入和 AOP 技术是基础知识,掌握了它们,才能更深入地学习和使用 Spring,提高开发效率。
示例代码可以参考 https://github.com/example/spring5-basic-demo
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring5学习之基础知识总结 - Python技术站