Spring框架简介
官网 : https://spring.io
Spring是一个开源框架,为了解决项目的复杂开发过程而 创建的 整合了多方第三方软件
大大提高了开发效率,可维护性等问题.(低耦合)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jsPyvCdC-1623125484732)(RackMultipart20210608-4-9jbi5w_html_f6b76c48c15a8c6e.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/c3f3838b217b608364b92ef018c33f1d.png)
IOC/DI 控制反转和依赖注入
添加依赖 spring-context
创建配置类 用@Configuration 将类交给spring 管理 使用@Bean声明Bean组件
进行测试 利用AnnotationConfigApplicationContext 创建IOC容器
getBean("beanID",类型)
JavaBean
javabean是为了规范java类的定义规则, 使程序规范一致
1.需要定义包package
2.有无参构造器
3.需要实现序列化接口
4.包含使用getXxx setXxx 声明的Bean属性xxx
Bean属性(Bean Property) 就是指getXxx setXxx 方法
对象属性(Object Field) 是指对象的实例数量
spring为了方便使用也支持对不标准的对象进行给管理
spring管理的对象时JavaBean对象 所以也称 为 javaBean容器/Bean容器/spring容器/IOC容器
Bean管理
Bean的作用域
singleton(单例的):在应用软件运行期间某个类型的对象只有一个 .无论什么时候取都是同一个对象(默认是单例的)
prototype(原型): 在应用运行期间有多个同类型的对象存在,每次从容器中获取的对象都是新的
可通过 @Scope("prototype")设置
对象的生命周期管理
对象从创建到销毁的过程 我们称为对象的生命周期
java提供了两个生命周期的方法 @PostConstruct 创建对象后执行
@PreDestroy 容器关闭销毁对象时执行
需要导入依赖 java.annotation-api
第二种: 在@Bean注解管理bean时 在属性initMethod+方法名(对象创建后执行)
destroyMethod+方法名(关闭容器时执行)
如果为prototype(原型) 每次都会创建新的对象 spring为了避免内存泄漏 不会缓存对象的引用 所以spring关闭的时候就无法处理对象的销毁方法了
慵懒初始化
为了提高性能, 我们将很少用的bean 在需要的时候在进行加载(慵懒初始化)
注解为 @Lazy
可以与@Component 一起使用 也可以与@Bean一起使用
@Import导入配置
spring提供了多配制功能 利用@Import注解可以同时使用多个配置类
分模块开发,分层开发都会用到 分模块开发是 甲乙两员工都在修改配置 这时就需要有人进行解决冲突 合并配置文件 开发效率下降 问题也多
两个人各自写 自己的配置文件 用Import进行合并
@Configuration
@Impor(a.clss,B.class)
Spring框架是一个开源解决方案,旨在简化Java项目开发,通过IOC/DI实现低耦合。本文介绍了如何配置和使用Bean,包括配置类、@Configuration和@Bean注解,以及对象的作用域(如singleton和prototype)。此外,还详细讲解了对象的生命周期管理和懒加载特性,并探讨了@Import如何实现多配置类的导入。
817

被折叠的 条评论
为什么被折叠?



