注:本文中的实体类使用了lombok,请自行安装插件。
spring的两大核心机制是IOC(控制反转)和AOP(切面编程)。
控制反转:对象由ioc容器创建,创建成功后将对象放在ioc容器中。调用者需要使用对象时,去ioc容器中取即可。
切面编程:
创建bean对象时属性值是由setter方法赋值。
https://github.com/Skyline-1993/spring/tree/master/spring-1
创建bean对象时属性值是通过反射赋值。
https://github.com/Skyline-1993/spring/tree/master/spring-5
spring容器中的bean可以通过applicationContext.getBean("idName")来获取。 applicationContext获取的几种方式:
- 根据xml文件获取applicationContext ,该applicationContext只能获取到中该配置文件中的<bean>
- 实现ApplicationContextAware接口,将实现类放入spring容器中,spring会将applicationContext自动注入到实现类的实例对象中。