一句话总结:Spring框架的核心容器能为我们创建对象
spring框架是一种粘合层框架,它是用来整合web层框架和持久层框架的
spring可以支持我们各个层级包括数据展示层,业务层和持久层都有对应的解决方案.
spring核心容器core container提供了创建对象管理对象的功能
core container包括bean,core,context,Expression Language
bean提供了整个框架最基本的部分,包括了IOC控制反转和依赖注入
Bean的创建用到了工厂模式:父类是BeanFactory
下边为Spring模块架构图:
core container : 核心容器,是spring框架的基石,任何spring项目运行时都会生成一个容器,把项目运行时需要的对象全部管理起来。创建对象,销毁对象,对象关系的依赖。
test : 测试,可以与junit-4整合起来,测试容器中某些对象。
AOP : 面向切面编程,可以无耦合的给很多方法进行功能的增强。
data access : 数据访问,提供了jdbc模板,可以对数据库进行操作。还可以与其它的ORM框架,如hibernate进行整合使用。
transactions : 事务, spring提供了声明式事务功能,只需要对事务功能进行一次配置,就可以在所有的方法上增加事务。
web - struts : spring的web模块可以和struts框架整合起来使用。
web - mvc : spring开发了自己的一个控制层框架,叫做SpringMVC,代替struts2框架,从开发速度,运行效率上都比struts2要好。
IOC控制反转:之前是程序员创建对象,现在是IOC容器创建对象,控制权反转了
以后spring框架的使用方式:
1、在spring.xml中配置<bean>标签
2、根据spring.xml创建出核心容器,容器会自动创建所有的bean
3、需要使用哪个bean,从容器中取出就可以。
依赖注入有三种方式:
1.构造方法注入:
<bean id="student" class="com.youzhong.entity.Student"> <constructor-arg index="0" value="1"/> <constructor-arg index="1" value="张三"/> </bean>
index是索引,value是赋值
2.set方法注入:
<bean id="student" class="com.youzhong.entity.Student"> <property name="id"
value="1"/> <property name="name" value="张三"/> </bean>
name要与实体类的set方法名匹配
3.注解注入:
注解注入只能对对象类型的属性依赖完成注入。
@Autowired @Resource 自动绑定
注解开关:<context:annotation-config/>
@Autowired 注解添加到对象类型属性上,按照类型绑定。
@Resource 注解添加到对象类型属性上,先根据名字绑定,再根据类型绑定。>
@Autowired是spring中的注解,@Resuorce是jdk中的注解
原文地址:https://www.cnblogs.com/xingani-0202/p/10452962.html