【发布时间】:2019-03-08 16:26:37
【问题描述】:
这是一个没有实现接口的最终类:
@Component("finalClass")
public final class FinalClass {
public String hello(){
return "hello";
}
}
这是测试类:
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
FinalClass finalClass = (FinalClass) ac.getBean("finalClass");
System.out.println(finalClass.hello());
}
}
它可以运行。 final 类不能扩展,也没有实现任何接口。为什么Spring可以创建它?
【问题讨论】:
-
只有当你在组件上应用了任何 AOP 切入点时,Spring 才需要为组件继承或创建代理类(例如,使用
@Transactional注释管理 jdbc 事务)。否则它可以只是一个普通的 java 对象
标签: java xml spring algorithm oop