黑马程序员spring+springMVC+Maven高级+springboot+MyBatisPlus总结之bean

本文为自我学习使用,如转载需本人同意

bean基础配置

id

id是bean的名称,可以随便起,但是不能有重复

name

name为bean的别名,和id有一样的效果(包括所有),所以也不能重复
多个别名可以用空格、逗号或分号隔开

class

bean的类所在“地址”,就是带上包

scope

作用范围。bean默认为单例,可以设置scop为prototype,bean就变成了多例
单例:获取的多个bean为内存中同一个
多例:获取的多个bean为内存中不同的

所以不适合管理封装实体域对象

bean实例化的方法

bean本质上就是对象,创建bean使用构造方法完成,但为了兼容以前的带工厂的项目,提供了静态工厂,实例工厂等多种方法

构造方法(常用)

在这里插入图片描述

静态工厂

在这里插入图片描述

实例工厂

在这里插入图片描述

FactoryBean

在这里插入图片描述

bean的生命周期

在这里插入图片描述

添加销毁之前方法init和销毁之后方法destory

在这里插入图片描述

手动配置xml,指定init和destory

在这里插入图片描述

运行并不会调用destory方法,因为java虚拟机关闭了,destory没来得及执行

方法1:手动关闭容器

ApplicationContext接口并没有close函数,但是其子接口有,所以可以直接使用ClassPathXmlApplicationContext
在这里插入图片描述
执行了destory
在这里插入图片描述

方法2:钩子关闭容器

使用ctx.registerShutdownHook(),作用是指定在关闭程序前关闭容器
在这里插入图片描述
可以放在任何位置

使用接口调用“init”和“destory”

在这里插入图片描述
说明:之所以叫afterPropertiesSet,是因为次方法是在setBookDao也就是初始化引用之后执行的

注入方法和类型

在这里插入图片描述

set注入简单类型

1.添加简单类型和简单类型set方法
在这里插入图片描述
2.配置xml
在这里插入图片描述

构造注入引用类型

添加引用类型和构造器
在这里插入图片描述

在这里插入图片描述

提示:ref为BookDao的bean的id名称

构造注入简单类型(形参名)

添加简单类型和构造器
在这里插入图片描述
xml

在这里插入图片描述

构造注入简单类型(类型)

但这种方案不适合存在形参类型一样情况
在这里插入图片描述

构造注入简单类型(指定位置)

在这里插入图片描述

依赖注入方法选择

在这里插入图片描述

自动装配和注入

自动装配

在上面案例中,我们都采用property指定了变量名name和引用ref来装配的
在这里插入图片描述
但我们也可以使Spring帮我们搜索容器中有的bean实现装配
在这里插入图片描述

按类型自动装配

在这里插入图片描述
set必须保留(没有会报错)

在这里插入图片描述

如果存在两个实现类,就会报错
在这里插入图片描述

需要注意:是将bean的class的类型与属性的类型匹配,并且可以接口匹配实现类

按名称自动装配

在这里插入图片描述
因为按名称,id是唯一的,所以不存在多个报错。

这里需要注意:byName Spring会将bean的id与属性名进行匹配。
如:bookDao匹配bean的id bookDao(其实是匹配setBookDao里的bookDao,因为标准命名,所以这样说)

在这里插入图片描述

自动装配的特征

在这里插入图片描述

集合注入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:和能混用
如果是引用类型:在这里插入图片描述

案例:数据源对象管理

第三方资源配置管理

导入坐标

在这里插入图片描述

管理bean

使用的是set注入,这需要看管理的bean是否提供set方法
在这里插入图片描述

管理c3p0

可以在https://mvnrepository.com/中搜索c3p0坐标
在这里插入图片描述
需要mysql连接坐标,其能提供连接驱动等
在这里插入图片描述

在这里插入图片描述
说明:完全陌生的bean需要查相关文档,知道class和property

项目描述 在上家公司自己集成的一套系统,用了两个多月的时间完成的:Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级开发系统 Springboot作为容器,使用mybatis作为持久层框架 使用官方推荐的thymeleaf做为模板引擎,shiro作为安全框架,主流技术 几乎零XML,极简配置 两套UI实现(bootstrap+layer ui),可以自由切换 报表后端采用技术: SpringBoot整合SSM(Spring+Mybatis-plus+ SpringMvc),spring security 全注解式的权限管理和JWT方式禁用Session,采用redis存储token及权限信息 报表前端采用Bootstrap框架,结合Jquery Ajax,整合前端Layer.js(提供弹窗)+Bootstrap-table(数据列表展示)+ Bootstrap-Export(各种报表导出SQL,Excel,pdf等)框架,整合Echars,各类图表的展示(折线图,饼图,直方图等),使用了layui的弹出层、菜单、文件上传、富文本编辑、日历、选项卡、数据表格等 Oracle关系型数据库以及非关系型数据库(Redis),Oracle 性能调优(PL/SQL语言,SQL查询优化,存储过程等),用Redis做中间缓存,缓存数据 实现异步处理,定时任务,整合Quartz Job以及Spring Task 邮件管理功能, 整合spring-boot-starter-mail发送邮件等, 数据源:druid 用户管理,菜单管理,角色管理,代码生成 运行环境 jdk8+oracle+redis+IntelliJ IDEA+maven 项目技术(必填) Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis 数据库文件 压缩包内 jar包文件 maven搭建 Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统 http://localhost:/8080/login admin admin Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I Am Rex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值