本文主要是介绍学习java第二十九天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如何通过注解配置文件?
@Configuration 用于指定当前类是一个 spring 配置类,当创建容器时会从该类上加载注解,value 属性用于指定配置类的字节码。
@ComponentScan 用于指定 Spring 在初始化容器时要扫描的包。basePackages 属性用于指定要扫描的包。
@PropertySource 用于加载 .properties 文件中的配置。value 属性用于指定文件位置,如果是在类路径下需要加上 classpath。
@Import 用于导入其他配置类,在引入其他配置类时可以不用再写 @Configuration 注解。有 @Import 的是父配置类,引入的是子配置类。value 属性用于指定其他配置类的字节码。
Spring AOP and AspectJ AOP 有什么区别?AOP 有哪些实现方式?
AOP的实现关键技术在于代理模式,代理模式又分为静态代理和动态代理。
AspectJ AOP 使用的是静态代理,Spring AOP使用的是动态代理。
AspectJ是静态代理的增强,所谓静态代理就是AOP框架会在编译阶段生成AOP代理类,因此也成为编译期增强,它会在编译期将Aspect(切面)织入到Java字节码中,运行时候就是增强后的AOP对象
Spring AOP使用的就是动态代理,所谓动态代理就是AOP框架不会去修改字节码文件,而是每次运行时在内存中临时为方法生成一个AOP对象,这个AOP对象包含目标对象的全部方法,并且在特定切点处做了增强处理,并回调原对象的方法。
这篇关于学习java第二十九天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!