获得徽章 0
- 自学Java第131天
直接跳到了SpringBoot框架
只有一个感觉:超好用,太特么的香了
-
昨天还在这儿做学习计划呢
结果今天计划就被SpringBoot打破了
我感觉回不去了,果然是计划赶不上变化啊
-
Java有个广为诟病的问题就是代码臃肿
人家用Python的,代码都写了一堆了
我们还在搭建项目环境
-
我本来是打算从头到尾配置SSM框架的
结果配置到一半我开始犹豫了,太麻烦了
需要编写各种xml配置文件:
-
spring环境的配置
mybatis环境的配置
springMVC环境的配置
-
实不相瞒,我配置了半个小时都没弄完
并且基本都是Ctrl+c和Ctrl+v
如果完全自己写,那更慢了
当然我是一边配置还一边写文章
-
反正不管怎样,环境搭建确实麻烦
而SpringBoot就能解决这个问题
没有一个xml配置文件,全部都是注解
-
就是用Java代码+注解代替了xml配置文件
比如一个Java类+@Configuration
即表示这个类是一个配置类
再比如Java类+@ConfigurationProperties
即表示这个类是一个属性读取类
-
总而言之:对于Java程序员来说
利用Java代码配置比xml还是方便不少的
不过据说也有些老古董习惯了xml不愿意换
-
老实说,学SpringBoot其实纠结了蛮久的
课程安排大概半个月后才能学到SpringBoot
一下子也跳过了太多的知识点,担心以后出问题
-
思来想去,还是直接学它吧
以后出了什么问题,见招拆招即可展开76 - 自学Java第122天
学了spring注解的使用
不得不说使用起来还是蛮方便的
-
本来以为要花一些时间来学的
结果两个标签一配置基本就完了
当然目前还只是IOC容器的学习
后面还有一个AOP面向切面编程
-
@Component即将对象交给spring管理
就相当于xml中的bean标签的使用
该注释根据三层架构还有进一步的细分
-
@Autowired即根据类型实现依赖注入
也就相当于xml中的class属性
如果有相同类型的,可以根据id实现
加入@Qualifier(id名)进一步说明
-
此外还搭建了一个JavaWeb项目
在项目中使用spring框架
在配置项目环境的时候出了点问题
-
以前都是直接配置Tomcat并使用
这次我想使用maven工程中的Tomcat插件
结果就出问题了,浪费了一些时间才解决
导致学习进度又落下了一点
-
本来要学的spring监听器的使用以及
spring的Junit测试集成都没时间弄了
早睡早起就这点不好,时间不可控
稍稍遇到一点意外,计划就被打破了
-
不过晚上确实又容易犯困,效率更低
并且熬夜确实不好,还不如凌晨起来学呢
不过还好这些都还好说
毕竟马上要学的AOP面向切面编程是重点
展开评论1 - 自学Java第123天
AOP面向切面编程的学习
-
以前也学过很多种面向XX编程
比如面向过程编程,面向对象编程
这两种也就是C语言和Java语言的区别
-
后面Java又学了面向接口编程
今天又学到了面向切面编程
说来说去最终还是得面向搜索引擎编程:
面向百度编程、面向谷歌编程
-
面向开发文档编程
面向老板的口述编程
……等等等等,各种各样的吐槽都有
-
那这个面向切面编程到底是干嘛的呢?
通俗简单小白式的理解就是:
能够对某个对象的某个方法功能增强
同时对这个方法本身没有任何修改
-
大概举一个例子说明下:
比如吃汉堡,里面有生菜、肉片…等等
但是我发现这个生菜不好吃
-
于是我把这个汉堡给切开
将生菜取了出来,加了点老干妈
再将生菜放回去,发现好吃了不少
-
这个过程就是面向切面编程:
汉堡就是一个目标对象
生菜就是对象的方法中需要增强的方法
给它增强了一个什么功能呢?
给它加了点老干妈,更好吃了
-
但是对生菜本身并没有产生修改
这个要这么理解,不能太严谨
什么叫对生菜本身产生修改?
-
比如我把它拿出来用油炸了一下
同时加了佐料,也更好吃了
但是这样对生菜本身也产生修改了
-
当然这个例子可能不太准确
但大致就是这么个意思
我学这块知识点的时候就是这么理解的
不然太抽象了,比较难弄懂
-
说白了就是对方法的增强
继承也可以实现该功能
但是继承会对方法本身产生修改
-
而面向切面编程不仅增强了方法
同时还没对方法本身产生修改
那它是怎么实现的呢?就是利用动态代理
-
对动态代理也进行了全方位的再次回顾
当初学的时候觉得难的不行
现在回头来看确实好理解了不少
-
本质上就是Proxy类中的一个静态方法
newProxyInstance(),其有三个参数
将这些参数完全弄懂了,动态代理也就差不多了
展开44