为了转行程序员而努力的第三十九天- Java SSM框架,线程

今天正常醒了,因为昨天起晚了,导致上午很快就过去了,今天决定早点起床,突然有这么长几乎没有人打扰的假期真是太难得了,以至于有时候都不知道该做什么,每到晚上的时候又感慨居然这么快又过了一天。今天提前学习了Java的SSM框架,算是正式开始做项目之前补充学习一下前置的知识。下午冒着大雪出去户外运动了,下雪天有一种别样的美,人也少了很多,自然风光反而更美了。

今日进度:
1.受到最近看的书的启发,勇敢幻想,确定了一个非常远大且具体的目标,并且想出了一条确实可行,只是要付出巨大的努力,克服很大的困难的道路,但是确实是可行的道路。将这个目标作为我的长期目标,每天看着它,一点一点的朝它靠近,就会感到很有成就感,哪怕最终没有实现,也比现在的状况好很多了,至少做到了自我提升。
2.坚持录小王子,坚持练习绕口令和英文短文
3.坚持户外锻炼
4.坚持早睡早起
5.坚持记录进度

学习笔记:
1.依赖注入,是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入。
2.耦合性(英语:Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。
3.控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
4.按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:
1. 可以实现代码的重复利用
2. 易编写、易维护、易使用
3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。
5.MVC 模式表示模型 - 视图 - 控制器模式。从名称我们可以看到,MVC模式涉及三个部分:
Model(模型)- 模型表示携带数据的对象。它也可以具有逻辑来更新控制器,如果其数据改变。
View(视图)- 视图表示模型包含的数据的可视化。通常它有UI逻辑。
Controller(控制器) - 控制器引用模型和视图。它控制数据流进入模型对象,并在数据更改时更新视图。它保持视图和模型分开。
6.Aspect Oriented Programming(AOP)面向切面编程,是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。OOD/OOP面向名词领域,AOP面向动词领域。
7.Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
8.Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制
9.MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
10.Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。
Java 5.0内置了3种标准注解:
@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,标记被弃用的代码。
@SuppressWarnings,指示编译器去忽略所标注内容产生的警告
11.View层是界面,Model层是业务逻辑和数据,Controller层用来调度View层和Model层,将数据、业务逻辑和用户界面合理的组织在一起,起粘合剂的效果。所以Controller中的内容能少则少,这样才能提供最大的灵活性。
12.最典型的MVC就是jsp+servlet+javabean模式。
JavaBean作为模型(Model),既可以作为数据模型来封装业务数据,又可以作为业务逻辑模型来包含应用的业务操作。其中,数据模型用来存储或传递业务数据,而业务逻辑模型接收到控制器传过来的模型更新请求后,执行特定的业务逻辑处理,然后返回相应的执行结果。
JSP作为表现层(View),负责提供页面为用户展示数据,提供相应的表单(Form)来用于用户的请求,并在适当的时候(点击按钮)向控制器发出请求来请求模型进行更新。
Serlvet作为控制器(Controller),用来接收用户提交的请求,然后获取请求中的数据,将之转换为业务模型需要的数据模型,然后调用业务模型相应的业务方法进行更新,同时根据业务执行结果来选择要返回的视图。
13.Java SSM框架即指Spring+SpringMVC+MyBatis的简称,框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。为了转行程序员而努力的第三十九天- Java SSM框架,线程_第1张图片
14.SpringMVC把传统的模型层被拆分为了业务层(Service)和数据访问层(DAO,Data Access Object)。在业务层中可以通过 Spring 的声明式事务操作数据访问层,而在业务层上还允许我们访问 NoSQL
15.SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作,最终把Model层执行结果返回给用户。SpringMVC相当于SSH框架中struts。
16.MyBatis是对JDBC的封装,它让数据库底层操作变的透明,属于半自动的ORM(对象关系映射)框架。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
17.线程通信就是当多个线程共同操作共享的资源时,互相告知自己的状态以避免资源争夺。
18.多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。
19.线程的挂起是通过Thread类的实例的Suspemd方法实现的,Suspend方法将无限期地挂起当前线程,如再次执行当前线程,就需要将当前的线程唤醒,这就要用到Thread类的实例的Resume方法来实现。

觉得SSM框架还真是很神奇,期待明天正式开始做项目,环境配置应该会花上不少时间。面对未来最好的方式就是塑造未来,要相信自己可以实现自己的目标啊,明天继续更新。

你可能感兴趣的:(转行刷题项目记录,java,mvc,开发语言)