Spring
spring概述
spring是什么?
spring是一个轻量级的,非侵入式的,IOC和AOP的一站式框架,为简化企业级应用开发而生
轻量级:体积小,占用资源少
非侵入式:我们的业务代码中的类,不会继承实现spring框架中的类和接口
IOC:Inversion of Control 控制反转 以前程序中使用对象是程序员自己new
使用了spring以后,我们不需要new对象,由spring框架来管理生成对象
AOP:面向切面编程
一站式框架:它集项目整体管理,数据访问,web,测试等等于一体
在bean标签中配置需要spring框架管理的类,
把spring框架生成的对象称为一个bean对象,此对象与自己new对象是有区别的,
spring创建时,可以根据配置文件为生成的对象增强功能 IOC
使用spring框架来管理生成对象
使用spring框架中的一个实现类,读取spring配置文件,生成并管理这些对象
在程序中需要对象时,直接从spring框架中获取即可
spring搭建
1.导入spring核心功能
2.创建spring.xml配置文件
配置哪些类需要spring来管理
3.使用ClassPathXmlApplicationContext来读取配置文件
4.获取spring创建生成的对象
IOC控制反转,把什么的控制权,反转给谁
是一种编程架构思想,就是将原来程序中自己new对象的权利,反转给spring框架
实现:在是spring.xml文件中配置需要spring管理的类,
解析xml 读取配置,使用bean工厂创建对象(用到反射机制),
在spring中维护一个容器,将创建的对象管理起来, IOC容器在哪需要,在哪儿注入
控制反转:就是将在程序中创建对象的权利反转给spring框架,由spring统一管理
好处:解耦 功能增强
spring管理bean(2种)
1.在xml中配置
依赖注入 id=“对象名” class=“类的地址” name=“也可以定义对象名”
scope=“指导spring框架如何生成对象”
singleton:默认值 单例的 在一个应用程序中,为一个类只创建一个对象
对象在spring容器启动时创建
prototype:原型的 每次获取时,会创建一个新的对象
request:一次请求中创建一个
session: 一次会话中创建一个
application:一个应用程序中创建一个
在IOC的同时,会发生一个动作称为依赖注入,就是在spring创建对象的同时,为对象中注入值,注入值的方式有2种:
1.通过属性的set方法注入 2.通过构造方法注入(有弊端不建议使用)
<Property name="no" value="loo"></property>
1
2.使用注解方式最终使用的方式
可以使用注解标签为属性注入值
@Autowired 属于spring框架提供的注入的注解标签,一般写在属性上面或者属性的set方法上面,可以通过类型注入(不需要对象名,可以根据属性的类型,在spring容器中查找),也可以通过对象名称注入(@Qualifier(value=“userDao”) 通过@Qualifier指定需要注入的对象名)
默认情况下注入的属性名不能为空
@Resource 是jdk中提供的注解标签,既可以按类型注入,也可以按名称注入
后端=层架框
web层 servlet接收数据
service java处理逻辑部分
dao 数据访问
在service 调用dao
@Repository(value=“userDao”) 表示的是数据访问层
@Component(value=“user”)
@Scope(value=“singleton”) 单例
@Service (value = “user Service”)