为什么是spring
spring是一个开源框架,为了解决企业应用的复杂性而创建,是一个轻量级的控制反转(Ioc)和面向切面(AOP)的容器框架;
拥有轻量级,松耦合,分离了业务逻辑和系统及服务,内聚性等特点;
开发简单,方便和快捷;在spring里面,所有的对象都可以成为bean;spring对复杂javaee的开发具有里程碑的作用;
spring作用
- 容器
- 有多种技术支持(JMS,MQ支持。。。)
- AOP(事物管理,日志等)
- 众多方便应用的辅助
- 构建企业应用(springmvc+spring+Hibernate/mybaties)
- 单独使用bean管理
- AOP单独进行切面管理,消息支持
IOC介绍
1 什么是IOC
控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护,DI(依赖注入)是其实现的方式;IOC相当于房屋中介,我们编程的时候,要用到对象,我们可以直接从IOC容器中拿对象使用;
bean配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx">
//id 是bean的唯一标识;class里面放的是具体实现的类
<bean id="oneInterface" class="com.demo.ioc.interface.impl"></bean>
bean
bean容器初始化
用到两个基础包
-org.springframework.beans
-org.springframework.context
spring注入
在启动spring容器加载bean配置的时候,完成对变量的赋值行为,常用的两种注入方式
1 设值注入
2 构造注入
bean的配置项
- id
- class 必配项
- scope
- constructor arguments
- properties
- autowiring mode
- lazy-initialization mode
- initialization/destruction method
bean的自动装配(autowiring)
- no:不做任何操作
- byname:根据属性名自动装配
- bytype:找类型完全一致的
- constructor:与bytype方式类似
写到半途,发现一篇好文章,不用我自己写了;分享下链接,讲解spring的
https://www.cnblogs.com/wmyskxz/p/8820371.html