概念
一.Spring框架是一个开放源代码的J2EE应用程序框架,是针对bean的生命周期进行管理的轻量级容器
(知识点:
1. J2SE 基础的java语法
2. J2EE JAVA企业级开发
3. J2ME 移动端java开发 手机QQ java写的!!!
4.bean: 由Spring容器管理的对象称之为bean!!!
5.轻量级: 使用spring容器的方式简单/操作便捷.
6.容器: Spring在内存中开辟了一大块空间,用来管理对象.)
二.IOC介绍
1.Ioc全称Inversion of Control,即“控制反转”,这是一种设计思想。对象创建的权利由Spring框架完成.由容器管理对象的生命周期.
注解1: @Configuration //标识当前类是配置类
注解2: @Bean //告诉Spring容器,当前方法的名称,为Map中的key * 返回值是Map中的value.
注解3: @ComponentScan(“com.jt.demo4”) //包扫描注解: 让spring注解生效!!!
2.懒加载
注解4:@lazy //开启懒加载,规则: 用户使用时创建. 默认非懒加载 当spring容器启动时就加载
3.单例/多例
注解5: @Scope(“singleton”) 单/@Scope(“prototype”) 多
//默认就是单例模式 只创建单个对象 ,多例模式则创建多个对象
4.生命周期说明
- 对象创建
- 初始化数据 @PostConstruct
- 调用方法,完成功能
- 对象销毁 @PreDestroy
核心: 生命周期的方法都是自动调用!!!
三.spring管理对象
1.@Component Spring自动为该注解标识的类通过反射实例化对象,交给Spring容器管理.
@Component/@Bean区别:
1.@Component spring容器通过反射自动创建对象
@Bean 是用户自己手动创建对象
2.@Component 标识类的
@Bean 标识配置类中的方法
3.@Component 对象的Id是类名首字母小写
@Bean 对象的Id是方法名
2.给属性赋值
set注入
构造方法注入
注解注入(@value)
注解 @Autowired 自动注入
规则:
* 1.默认条件下使用set方式注入.按照类型匹配.
* 2.set方式注入也可以按照name名称进行匹配
* 3.只要使用注解,默认自动生成SetXX方法
* 实现原理:
* 1.类型匹配: 如果是接口,则自动匹配其实现类对象
* 2.name名称匹配: 根据spring中的key进行注入.
spring框架解决了创建对象和管理对象的问题 ,直接用就好了
Spring中的IOC(控制反转)/DI(依赖注入) 两种方式相互配合,实现了代码的松耦合!!!.