spring学习基础(ioc底层原理,bean的配置和注解)
spring概念:
1.spring是开源轻量的框架
2.spring的核心主要有两部分:
(1)aop:面向切面编程,即扩展功能不是通过修改源代码实现(比如声明式事务)
(2)ioc:控制反转,比如有一个类,在类里面有方法不是静态的,需要创建类的对象,使用类的对象调用方法,需要new出来类的对象; 控制反转就是把对象的创建不是通过new的方式,而是交给配置文件来创建对象
3.spring是一站式框架
(1)spring在javaee三层结构中每一层都提供不同的解决技术;
web层:springMVC
service层:spring的ioc
dao层:spring的jbdcTemplate
4.spring版本
(1)hibernate5.x
(2)spring4.x
spring ioc操作:
1.把对象交给ioc操作
2.ioc操作俩部分:
(1)ioc配置文件方式
(2)ioc注解方式
ioc底层原理:
(1)xml文件配置
(2)dom4j解析xml
(3)工厂设计模式
(4)反射
在spring的配置文件bean.xml中引入schema约束,hibernate是dtd约束
项目中测试对象是否创建成功代码:
bean实例化的三种方式:
(1)使用类的无参构造函数创建(重点)
如果类中没有无参数的构造函数,调用会出现一个 异常
(2)使用静态工厂创建
创建静态方法返回类的对象
(3)使用实例工厂的创建
创建不是静态方法,返回类的对象
java代码中属性注入的三种方式:
但是在spring框架中,只支持前两种:
(1)set方法注入(最多)
(2)有参构造函数注入
有参构造:
测试结果: