Spring小总结
Spring-IOC
是一款轻量级(尽量不入侵自己的代码)
开源(开放源代码)
全栈(web-dao-service都有不同的解决方案)
IOC(反转控制)
AOP(面向切面编程)为核心,还可以整合其他框架进行集成开发
学习框架:
重配置(XML,注解),轻代码
IOC是一种思想
吧对象的创建权交给IOC容器,如果使用就去找容器拿,不需要new
优势
解耦,简化开发
AOP编程支持
声明式事务的支持
方便程序测试
Spring的API获取Bean
ApplicationContext app = new ClassPathXmlApplicationContext("配置文件.xml");
FileSystemXmlApplicationContext(磁盘符开头,固定)
AnnotationConfigApplicationContext(用于注解配置)
app.getBean("核心配置文件中要使用的id")
Spring核心配置文件的基本标签
<Bean>
id :Bean实例在Spring容器中的唯一标识
Class: Bean的类路径(需要引入的java类的路径获取数据源的路径)
scope:范围 (两个属性 )
单列 singleton:在程序执行到加载spring核心配置文件的时候创建对象, 只创建一个对象(默认)
多列 prototype:程序执行到getBean方法时创建,每次执行getBean方法都会创建,对象之间不相同
Spring配置文件依赖注入
set(方便,常用)
有参构造
set:
name: 类名属性名
ref:引用当前容器存在对象的id
value:值,赋值
<property name:"类名属性名" ref="引用容器中已存在对象的id">
spring容器创建好UserServiceImpl对象后,会把 userDao处理成 setUserDao,找到对应的方法,反射执行,把容器中的dao对象注入到UserServiceImpl中
Spring配置文件 import 导入子配置文件
<import resource="applicationContext-xxx.xml"/> 简化主配置文件的书写,简易阅读。
Spring注解配置
替换Xml核心配置文件, 使用Configuration注解声明一个类为核心类,相当于配置文件
@Configuration//定义一个类,用于声明他是一个spring的核心配置类 ,相当于配置文件
Component 组件 告诉string该类创建了一个对象 ,如果这个对象不属于三层的类,可以使用它
Controller 控制器 web层实例化Bean ,告诉spring该类是一个对象
Service 服务 适用于Service层,实例化Bean ,告诉spring该类是一个对象
Repository 仓库 dao层
-----------------------------------
value 注入基本属性,可以配合spel表达式 读取配置文件的key 获取对应的值
@Value("${配置文件的key}")
比如 String xx 注解配置到谁头上,就对谁生效
Autowired ()根据类型依赖注入 ,切之一有这一个类型的类
Qualifier 配合autowired使用, 参数id,用于有单个或多个同一类型的类,用id区分6 区54E
-----------------------------------
Scope 范围 Bean的作用范围
singleton 单列
prototype 多列
--------------新注解---------------------
Configuration 配置 声明这是一个核心配置类
ComponentScan 组件扫描 :扫描某个包下的类,声明的注解
Bean Spring中的类/配置的管理对象, Bean有一个唯一的ID ,通过ID来管理 ioc是管理Bean的
PropertySource 文件来源 配置文件的来源
import 加载子配置文件 简化核心配置文件

浙公网安备 33010602011771号