日常总结与复盘

2021/11/22

复习内容:

  1. 了解spring5的基本特性、
  2. 通过spring5了解到java se的基础不扎实,重新复习了反射、注解等相关的内容、
  3. 重新学习web的概念以及html(超文本标记语言)的基础知识
  4. 了解了maven的基本情况

具体 内容的回顾

1了解spring5的基本特性

        spring5 的下载安装

                spring5 的核心包:beans、core 、context、expression

                在导入的同时也需要 将其导入相应的loggin日志,从而进行相应的导入

        spring5的定义:它是一款轻量级的java ee的框架的开发工具 (轻量级——指它的jar包相对于其他的是较小的)(联想到最近使用的“阿里云”是轻量级的云服务器,容易在系统上进行部署 )

        spring的目的:是为了帮助开发者减少在程序开发过程 中繁琐重复的环节,是一种框架(框架 可以理解成:半成品),程序将其骨架搭建好,程序员指需要填充相应的代码逻辑,即可以实现相应的功能。

        spring的核心部分:IOC   和   AOP 两部分组成

                IOC   (控制翻转):把创建对象的权利转交给框架,由框架来实现对象的创建(核心思想:利用反射的机制)

                AOP(面向切面):不修改源代码而进行代码的增强(使用到了注解相关方面知识)

                        spring5在学习jdbc的过程中使用了template,目的去简化开发的流程(与数据池的连接、断开)

                            Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。

                                

  •  execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

  • update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

  • query方法及queryForXXX方法:用于执行查询相关语句;

具体的知识详情请了解jdbc部分,在此处就不具体的展开


了解了:IOC 的底层基本逻辑(xx谷的)

                为什么 要使用IOC (目的):降低程序的耦合度

                        (耦合度):耦合度就是指软件程序对象之间的依赖性。程序与程序之间的耦合度越高,表示其程序的维护成本相对也就较高

                        (内聚性):是指机能相关的程序组合成一模块的程度,或是各机能凝聚的状态或程度。

程序的最好要求:低耦合高内聚 :

高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合) 低耦合:减少类内部,一个成员方法调用另一个成员方法。

 低耦合:减少类内部,一个成员方法调用另一个成员方法。它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口

                底层实现:反射、工厂模式、配置文件(XML) :

具体的实现逻辑:相关的信息通过配置文件写入,通过反射解析得到相应的类信息,通过工厂模式(设计模式之一)来实现对象的生成

spring对IOC 容器提供的两个接口:

                BeanFactory接口:

                ApplicationContext接口:

                        ApplicationContex是 BeanFactory的子接口

ApplicationContex 与 BeanFactory的区别:

  1. ApplicationContex 加载配置文件时候就会把在配置文件对象进行创建。
  2. BeanFactory 加载配置文件时候不会创建对象,在获取对象时才会创建对象。

具体调用的api


反射

目的:获得相应的对象,在java中万物皆可为对象。

2. 反射
说明:其将类的各个组成部分封装为其他对象。

获取Class对象的三种方式:
① Class.forName(“全类名”)
多用于配置文件,将类名定义在配置文件中,读取文件,加载类。
② 类名.class
多用于参数的传递。
③ 对象.getClass()
多用于对象获取字节码的方式
结论:同一个字节码文件(.class)在一次程序运行过程中,只会被加载一次,无论通过哪一种方式获取Class对象都是同一个。

Class对象功能:
① 获取成员变量
Field【 】 getFields
Field getField(String name) (获取公共的public)
Field【 】 getDeclaredFields()
Field getDeclaredField(String name)
② 获取构造方法
Constructor【 】 getConstructors()
ConstuctorT getConstructor(类名,参数)
③ 获取成员方法
Method【 】 getMethods()
Method getMethod()
④ 获取类名
String getName()
Field成员变量
① 设置值
void set(Object obj, Object Value)
② 获取值
get(Object obj)
③忽略访问权限修饰符的安全检查
setAccessible(true) 暴力反射

Constructor:构造方法
创建对象
T newInstance(Object …)
如果使用无参构造方法创建对象:Class对象的newInstance方法。


网页的类型:C/S B/S

 html、css、javascript的相关关系

HTML :提供相应的文本服务()

CSS:进行字体、颜色等的修饰

Javascript:进行相应的动画设置

静态网页、动态网页

当用户 申请的是静态网页,客户端会 将相应的文件发送到浏览器,浏览器中存在静态网页解析的 引擎,从而得到相应的静态网页结果

动态网页:会根据用户的登入情况,进行相应的动态变化 

                显示机制:动态网页会先在服务器 端根据用户的登入信息生成,并转变成 静态网页,后通过网络传输到用户的浏览器,解析显示


2021/11/23

学习内容:html 标签项目、css、javascript等相关内容

                   数据结构 与算法

CSS:页面布局操作

HTML表单标签

        表单:(作用)用于收集采集用户输入的数据,实现程序(服务器)与用户之间的交互

使用标签:<form>

                属性:action  提交数据的URL

                        method:提交方式:(7种)

                                       两种较为常见:get 、post

两者的区别(get、post)

提交方式为get:

  1. 请求参数会在地址栏处进行显示
  2. 请求参数的长度是有进行限制的
  3. 使用不太安全

   提交方式为post:

  1. 请求参数不会再地址栏中直接进行显示,而是封装到请求体中进行显示
  2. 请求参数的长度是没有限制的
  3. 通过点击F12中可以观察到具体的显示结果
  4. 使用相对较为安全

http协议具体提及相关(请求方法(4种))

表单中的数据要想被提交,就需要指定name属性,将相应的内容(用户和密码传递会URL的服务器)具体的结果可以观察地址栏中的结果

        具体形式用户名<input name=“username”>

“”表单项 标签

input:可以通过type属性值进行改变元素性质

                没有进行设置的时候,默认设置为“type”= text

                type的取值类型:

  1. text:文本输入框(默认值)
    1. 在日常使用的时候发现在输入前会有文本输入框的文字提示,点击输入后就消失,输入框的内容发生变化则会
    2. 设置placeholder  <palceholder = "请输入用户名">
    3. 点击输入则消失

                label标签:可以与输入框之前的文字描述信息进行绑定;通过label标签与input标签的id进行绑定,当用户点击label标签的文字,就会自动跳转到inputt输入框中相应的输入信息(获得其相应的焦点)

<label >

  1.  password:密码输入框 显示的时候是以密文形式显示
  2. radio (单选框)性别选择
    1. 要使得多个单选框实现单选的效果,必须使得其name属性值相同,来自同一范围
    2. 单选框选择的时候,在地址框会有反馈。通过设置单选框的value属性,指定被选中后返回相应的值,从而实现相应的逻辑 
    3. 有着checked选项,可以表示默认被选中的效果(指定默认值)
  3. CheckBox(复选框)更多的选择方式:
    1. 要使得多个单选框实现单选的效果,必须使得其name属性值相同,来自同一范围
    2. 单选框选择的时候,在地址框会有反馈。通过设置单选框的value属性,指定被选中后返回相应的值,从而实现相应的逻辑 
    3. 有着checked选项,可以表示默认被选中的效果(指定默认值)

           file :文件选择框 用户可以选择本地的图片、文档进行相应的上传

               图片 <input  type ="file" name = "file">            

        隐藏域:具体并不会被界面显示和用户看到,但是其数据也会被相应的进行提交 

按钮

  1. button //登入按钮 //只是一个普通的按钮,没有特殊的功能(但是后期与javascript进行绑定联动)
  2. submit //提交按钮(点击后进行提交,跳转到指定的服务器URL)     
  3. image //图片提交按钮(点击图片进行提交) 属性:src 可以通过这个进行设置相应的图片    

select(下拉列表) :

       列表项 <option> :定义select下拉列表中的各项信息 

     <option>北京</option>

        注意:在消息中记得设置相应的name 以value属性,方便在提交的时候进行信息的绑定

 textarea(文本域):


CSS 

  1. 概念:层叠样式表
    1. 层叠:表示这多个样式同时作用在同一个html的元素上,同时生效
  2. 作用:页面美化和布局控制
  3. 好处
    1. 功能强大
    2. 将内容展示和样式控制进行分离
      1. 降低其耦合度
      2. 让分工协作更容易,提高开发效率
  4. 使用(结合方式)
    1. 内联方式:在标签内使用style属性来指定css代码(键值对)
    2. 内部样式:在head标签内,定义style标签,style 标签的标签体就是css的代码
      1. 
        <style>
            div{
                   color:bule;
                }
        </style>
        <div> hello world <div>

        使得所有的div都会变成蓝色 

                3.外部样式

                                1.定义css的资源文件 

                                        1.创建新的directory文件夹(css)2.在创建任意文件,修改后置成.css

                                2.在head标签内中,定义link的标签,引入外部的资源文件中

                                        1.通过link标签将其资源引入(link rel =“stylesheet”  herf=“css/a.css”)

div {
color:green;
}

<link rel = "stylesheet"  herf ="css/a.css">

<div>hello world <div>

                        也可以通过这样的方式引入css

<style>
    @import "css/a.css"
</style>

总结:

                1——2——3  css的作用范围由(当前标签)——(当前页面)——(引入后的css所有页面)(范围越来越大)

                后期常用的2、3


css的基本语法

格式:         选择器{

                                        属性1:属性值1;

                                        属性2:属性值2;

                                }

最后一个属性及属性值可以添加/不添加分号 

选择器:筛选具有相似特征的元素

                       类型:(1):基础选择器:

                                                1-1:id选择器:选择具体的id属性值;建议在一个页面id指要求唯一

                                                        具体写法:#id属性值()

                                                1-2:元素选择器:选择具有相同名字的元素

                                                                语法:标签名称()

                                                                *id选择器的优先级高于元素选择器

                                                1-3:类选择器:选择具有相同class类的元素

                                                  语法:.class属性值() (class为标签的属性值,可以对应多个)

                                                          *id选择器的优先级高于元素选择器

                                  (2):扩展选择器:

                                                *:表示选择所有元素

                                                        语法:*{}

                                                     2.并集选择器:选择多个标签合并的

                                                                *选择器1,选择器2{}

                                                        3.子选择器:选择器1下面的选择器2

                                                        语法:选择器1 选择器2  { }

                                                        4.父选择器:筛选选择器2上的父元素选择器1

                                                                选择器1 >选择器2{}

                                                           5.

属性:

  1.   字体、文本
    1. font-size :设置字体大小
    2. color:文本颜色
    3. text-align :对其方式
    4. line-height:行高
    5. border 边框 格式:border:属性1  属性2  属性3
  2. 背景
    1. background :复合属性:下包含多个子类型(颜色、图片)
    2. 背景图片:写法:background:url("img/logo.jpg");//设置不重复 NO-repeat
  3. 边框
  4. 尺寸
  5. 盒子模型                     
    1. margin :外边距
    2. padding:内边距
      1. 默认情况洗下内边距会影响整个的大小问题 
        1. 解决办法:设置盒子的属性 ,让width和height就是盒子的最终的大小
    3. float:浮动:目的让三个分行的div在同一行进行展示
      1. 左浮动:float:left
      2. 右浮动:float:right
      3. 居中:float:center
    4. 总结:根据视角不同,内外边距的概念不同

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值