什么是spring?
spring是一个轻量级的一站式开源框架
spring的核心思想
ioc控制反转 aop 面向切面
ioc 将对象的创建权交给spring管理
aop是一种思想 常用的就是注解的方式加强操作
为什么 要用Spring?
1.方便解耦简化开发
2.Aop编程的支持
3.方便程序的测试
4.方便集成各种优秀的框架
5.降低javaEE API的使用难度
Spring框架有哪些主要的模块?
1.Spring Core :spring框架的核心容器,提供了spring框架的基本功能
2.Spring AOP:面向编程的思想
3.Spring ORM:提供对象有的ORM框架的支持
4.Spring DAO:提供了对DAO模式和jdbc的支持
5.Spring Web:提供了Servlet监听器的context和Web应用的上下文
6.Spring Context:扩展核心容器,提供了Spring上下文环境
7.Spring Web MVC:提供了一个构建Web应用程序的MVC的实现
Spring Bean的几种配置方式
1.基于xml
2.基于注解
3.基于Java类
Spring Bean的生命周期
1.实例化 Instantition
2.属性赋值 Populate
3.初始化 Initialization
4.销毁 Destruction
Spring Bean 的作用域之间有什么区别?
1.singleton:单例
2.prototype:多例
3.request:一次请求 请求开始创建bean 结束销毁
4.session:一次会话 同session共享bean session失效bean消失
5.global-session:全局会话
Spring框架中的单例Bean是线程安全吗?
不是
线程安全产生的原因:多个线程对共享数据同时进行修改
Spring的常用注解及作用
1.@Controller 处理http请求的控制器
2.@RestController 用来返回json
3.@RequestMapping 配置url映射
4.@Component 可以被注入到spring容器里管理
5.@Resource 默认按照名称进行装配
Spring中的懒加载(@Lazy)与非懒加载
懒加载:对象使用的时候去创建,节省资源 ,不利于提前发现错误(多例默认)
非懒加载:容器启动的时候立刻创建对象,消耗资源,利于提前发现错误(单例默认)
Spring 的事务管理
事务就是业务中的一组操作,要么全部成功,要么全部失败
Spring通过平台事务管理器进行事务管理
特征
1.原子性 事务包含的所有操作要么全成功要么全失败
2.一致性 事务执行前后数据保持一致
3.隔离性 并发的事务时互相隔离的,一个事务的执行不能被其他事务干扰
4.持久性 事务一旦提交 数据库中的数据将被永久保存
Spring中权限安全的框架
SpringSecurity安全框架
它提供了一组可以在 Spring 应用上下文中配置的 Bean,充分利用了 Spring IoC, DI 和 AOP 功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。