我试过了,我之前做笔记的方式,太浪费时间了,所以我要想想做出改变
full-stack 全栈
stack
英 [stæk] 美 [stæk]
n.
堆栈;(通常指码放整齐的)一叠,一摞,一堆;大量;许多;一大堆;(尤指工厂的)大烟囱;书库
v.
(使)放成整齐的一叠(或一摞、一堆);使成叠(或成摞、成堆)地放在…;使码放在…;(令飞机)分层盘旋等待着陆
spring的 全找,不是从前端写到服务器,而是他 各层都有对应的解决方案
spring 模板,我们在建立工具类的时候一般叫做 utility,他这里面进行了薄薄的封装测,叫做模板
太好了,我除了redis这个没学,现在看spring的 入门课像玩一样,尚硅谷nb
Spring 开发步骤
黑马的这个笔记做的是真的好
release 的意思 公开;发行;发布
release
英 [rɪˈliːs] 美 [rɪˈliːs]
vt.
释放;放出;放走;放开;松开;使自由移动(或飞翔、降落等);发泄;宣泄;免除,解除;使不紧张;公开;开放
n.
释放;获释;公开;发行;发布;新发行的东西;(尤指)新激光唱片,新电影;排放;解脱
开发步骤
1、
2、建立dao和impl
略
3、写配置文件
配置文件,调出来的方式
4、获取同期里面的对象的代码
没有getBean 是因为要父类引用指向子类对象,是父类里面的方法
调用不出来方法)(上一个需要父类才能调用getBean 这个需要自己向下转型)
我真的吐了,所有错误我都犯了一遍
找不到配置文件,是因为我把配置文件放到测试的资源类里面了
配置文件不让放在资源文件夹下面 我不次怎么处理的
1、spring 标签属性
id 唯一性标识
Bean标签范围 卧槽,还有这东西? 默认单例
代码写的方式
测试是不是单例,说白了就是看对象地址,老套路了
配置成 singleton 和 prototype 的不同,会导致对象到创建时机不同
怎么判断呢,因为框架生成对象,调用的是无参构造,所以我在无参构造里面加输出语句,就知道他是什么时候生成的了
配置成singleton 的时候,当加载配置文件,创建spring容器的那一步,对象就创建好了
配置成protoType 的时候,当获取对象的时候,再去创建
注意,当多个bean的时候,对象长时间不用就会被回收
虽然现在不知道这回队后面有什么影响
Bean的声明周期的配置
这个我之前没学过 但是,下午我就懂了,类似与servlet 里面的监视器,vue里面也有
init 和 destroy 要自己写,然后告诉spring
怎么告诉呢
在配置文件里面配置
我真的吐了,初始化方法,到底要写在哪个类里面,我自己觉得的话,应该是需要继承和覆盖的那种类
我的没有执行销毁方法
初始化 和 销毁 好想不用写在父类里面
因为他还没来的及打印就没了
!!我刚才怎么不成功啊,老师就能用子类调出来,子类 要比父类功能强大
’
手动调用spring 容器的销毁方法,ioc 容器就知道自己快挂了。
拷贝工厂的全限定名
通过静态工厂 去 获得对象
静态工厂类
配置文件写的方法
工厂实例方法,去掉了static
这个不能直接调用了,需要先用工厂对象,再去调方法
现有工厂对象,再通过指定工厂对象,去指定工厂中的 获得对象实例的方法
配置文件写法
卧槽,我懂了这个东西哪里用了,就是那个mabtis的工厂!!!!!!
就是JDBC的那个 getConnect 的工厂!!!!!
我先自己敲一遍
用了静态工厂了,它的 初始和 销毁方法 怎么办呢
问题1
初始化 和 销毁 方法是写在 dao 里面 ,当获得了impl对象后,用impl对象里面的方法,老师是怎么写的?
问题2
我忘了,操他妈的
依赖注入
这部分我已经学过了,但是我要过一遍,过完了之后,去看今天老师的录播课
笑死了,不使用依赖注入也可以用这种方法
在容器内部将dao给 service 我是怎么给的
我记得我是用反射注入的
怎么把数据设置到某个对象的内部
两种方式
set方法
UserService setUserDao 设置进去
第二种就是构造
先讲set方法
我之前理解的可能一直是错的??
== 要把这个变成小写==
怎么说跟我理解的不太一样
注意,如果使用了spring 的依赖注入,当我们使用UserService 里面的Dao 方法,会报空指针,因为spring 没有帮那个我们
新New出来的东西赋值
P命名空间注入
不要觉得引入命名空间那行代码 麻烦
他是这么来的
就是复制粘贴了一下
然后是有参构造注入
先要有有参构造
然后告诉spring
注入数据类型也有不同
他只讲了用 set 方法注入 数据类型,没讲参数的方法。他说回去自己试试
等会我自己用 构造方法,自己试一下
普通属性的注入
对象引用用ref 普通属性用value
集合属性的注入
properties 这个集合在后期配置的时候会经常被用到
记得要把set方法写上
因为集合与引用和普通数据类型不同 要用特殊的标签
再里面 写 子标签
先给List 赋值
这也太傻比了吧
Map的赋值方法
???怎么回事,我怎么没学properties 的创建方法
学习方法
我觉得,我应该边学,边把知识树 整理出来,我居然照着我自己的笔记整理不出来我学了什么?卧槽
我去看看B站App的目录
头疼啊,学习效率好慢啊
记录一下傻逼问题
命名空间不会写
命名空间是用来代替 ref 这个标签的,不是用来代替class的
思路清晰一点,我不会写 p命名空间,我先写一个不用p的
操,标准的也不会写了
不是标准的不会写了,是因为 我的 serviceImpl 里面没有写 属性值
不是上面的那个问题,是因为我没有写set方法
这个寄吧东西,还没有我自己写的那个好呢
这样写就不爆红了,脑袋清晰一点
头脑清晰一点啊,尼玛的
空指针是因为我没有调用spring,就是读取配置文件然后那什么的
我的spring 好像不能自动注入,为什么
行吧,因为我在看女人直播,所以傻逼了,唉。。
空指针是因为我new 了新的对象,
。唉。。
真好啊,听了一晚上好听的歌
就是分心写了一堆bug
主播,我有个朋友唱歌不好听,但是却一直唱歌不睡觉
我怎么提醒她啊
沃日,我肯定看女主播看魔怔了,继续敲
静态类 好像无法注入,,可以用从静态类注入的方法吗
我吐了,我解决不了了,怎么给静态变量赋值啊,这个问题,之后再解决把,记住了,千万不要再被这种东西卡主了,做二阶段项目的时候,就是这样,浪费了大量的时间,唉
静态工厂的方式,我大概懂了,也算是好事
然后是有参构造的注入
好了,然后是数据类型的引入
基础
我等会一定要睡觉了。我要傻了
不要再controller 这个里面,这个有需要静态的main去调用
然后是参数式的赋值
好了
引用 已经学完了
和集合(这个有点难)
这个了,我学的好他妈慢啊
先是学生类的
靠,两个属性的怎么写啊
懂了,对象 相当于 在xml里面New个,这个就是我觉的特别呆的那个
Map也写完了,就差最后一个了
properties
???怎么建立propertise,是个map吗
引入其他配置文件(分模块开发)
啥意思?
就是整个项目把配置文件都写在一个配置文件里面,配置文件会非常大,而且很难去读
可以按照用户模块或者商品模块去拆分
卧槽,按照模块去拆分后 ,居然还能 主配置文件引入其他模块文件
我可能还是不理解xml这个文件格式,不然我应该不会这么震惊