反射器、IOC/DI,动态代理、AOP

本文介绍了Java反射机制,包括反射的概念、常用类和作用,详细讲解了反射的入口Class类。接着讨论了Spring框架中的IOC/DI思想,解释了控制反转和依赖注入的概念。进一步探讨了动态代理和代理模式,阐述了其优点。最后,深入剖析了AOP,包括AOP的原理和Spring AOP的底层实现,以及五种不同类型的通知形式。通过示例代码展示了如何在Spring中配置AOP。
摘要由CSDN通过智能技术生成

反射

1.什么是反射

1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。
2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。

2.常用的类文件

3.反射的作用

类的加载器可以获得类中的东西:属性,构造方法,功能方法。即

  • 动态创建对象
  • 动态操作属性
  • 动态调用方法

4.反射的入口——class类

IOC/DI

IOC(控制反转):以前依赖的对象自己直接new,现在不需要new,框架会自动注入,创建对象的权利转移给了框架

DI(依赖注入):一个类的功能需要依赖另一个类的配合,同时需要赋上一个具体的对象,则这种关系是依赖注入

Spring框架负责所有对象的创建、管理和依赖注入,所有对象储存的容器叫做IOC容器


代码展示

核心配置文件:

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

dao层:

package com.gao.dao;
 
public interface BookDao {
 
    public void study();
 
}
 
 
 
 
 
package com.gao.dao.impl;
 
import com.gao.dao.BookDao;
 
public class BookDaoImpl implements BookDao {
    @Override
    public void study() {
 
    }
}

service层

package com.gao.service.impl;
 
import com.gao.dao.BookDao;
import com.gao.service.BookService;
 
public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值