Spring源码学习
黑皮爱学习
爱学习,爱分享!
展开
-
2.1 spring源码学习 给aop切面注解获取相关参数
注:原始学习资料来自于享学课堂接:https://blog.csdn.net/qq_22701869/article/details/102627657在对切面操作的时候,有时需要获取到被切面方法的参数以及执行结果等信息,具体使用发方法如下@Aspectpublic class LogAspects { @Pointcut("execution(public int cn....原创 2019-10-18 17:28:32 · 706 阅读 · 0 评论 -
2.0 spring源码学习 AOP功能测试
注:原始学习资料来自于享学课堂新建maven,引入pom<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <versi...原创 2019-10-18 16:37:59 · 215 阅读 · 0 评论 -
1.10 spring源码 @Value赋值,属性信息是保存在运行环境变量里面简单示例
通过@Value读取属性的值新建maven,pom如下<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.6.RELE...原创 2019-10-18 14:43:00 · 303 阅读 · 0 评论 -
1.9、spring源码,bean的生命周期,BeanPostProcessor处理的方法
接1.8、spring源码,bean的生命周期BeanPostProcessor类[interface]: bean的后置处理器作用:在bean初始化前后进行一些处理工作有两个方法1、postProcessBeforeInitialization():在初始化之前进行后置处理工作(在init-method之前),什么时候调用:它任何初始化方法调用之前(比如在Initializi...原创 2019-10-15 20:23:37 · 156 阅读 · 0 评论 -
1.8、spring源码,bean的生命周期
bean的生命周期:指bean创建-----初始化----销毁 的过程bean的生命周期是由容器进行管理的我们可以自定义 bean初始化和销毁 方法: 容器在bean进行到当前生命周期的时候, 来调用自定义的初始化和销毁方法第一种方法:首先在bean上加上init和destory方法public class Bike { public Bike(){ ...原创 2019-10-15 19:08:58 · 126 阅读 · 0 评论 -
1.7、@import和@Bean的区别,以及ImportSelector和ImportBeanDefinitionRegistrar两个接口的简单实用
实用@Bean和@Import的示例@Configuration@Import({Dog.class, Cat.class})public class DemoConfig { @Bean("tom") public Person getPerson3(){ System.out.println("没有添加@condition的普通bean:tom");...原创 2019-10-15 10:05:46 · 3767 阅读 · 0 评论 -
1.6、@Conditional条件注册bean,自定义条件对象,根据系统环境选择实例化bean
首先查看配置类DemoConfig@Configurationpublic class DemoConfig { @Bean("windows") @Conditional(WinCondition.class) public Person getPerson(){ System.out.println("给容器添加windows"); ...原创 2019-10-14 20:17:13 · 285 阅读 · 0 评论 -
1.5、@Lazy懒加载
懒加载主要针对单实例,默认在IOC容器启动的时候创建,如果配置懒加载,在第一次使用的时候,IOC才会创建bean配置类@Configurationpublic class DemoConfig { @Bean("person") @Lazy public Person getPerson(){ System.out.println("初始化之前P...原创 2019-10-14 17:39:26 · 103 阅读 · 0 评论 -
1.4、@scope注解单例和多例,验证默认是单例
提示:注意一个区别,如果是单例的,IOC容器启动的时候就会创建bean;如果是多例的,IOC容器在调用这个bean的时候才会创建bean,这可能是一个面试点1、配置类,默认是单例@Configurationpublic class DemoConfig { @Bean("person") public Person getPerson(){ return...原创 2019-10-14 16:59:04 · 638 阅读 · 0 评论 -
1.3、使用@ComponentScan扫描包,简单示例
代码结构,按照要求新建简单的代码结构1、在配置类DemoConfig中添加@ComponentScan扫描,可以扫描到加上了Controller、Repository、Service等注解的代码@Configuration@ComponentScan(value = "cn.enjoy.*")public class DemoConfig {}2、输出扫描到的类pu...原创 2019-10-14 14:16:02 · 1088 阅读 · 0 评论 -
1.2、spring使用@configuration加载bean,简单示例
代码结构1、新建maven项目,加入spring依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.6.RELEASE&l...原创 2019-10-14 11:30:28 · 504 阅读 · 0 评论 -
1.1、spring加载beans.xml文件,获取bean,最简单的IOC示例
代码结构1、新建maven项目,加入spring依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.6.RELEASE</version&...原创 2019-10-14 11:11:32 · 243 阅读 · 0 评论