• Java相关框架概念以及思想


    1、什么是IoC

    Ioc—Inversion of Control,即“控制反转”,是一种思想,

    一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。

    高内聚低耦合的设计能够让构造和演化都更加高效,比如:

    • 开发更方便组织分工
    • 代码更容易进行复用
    • 更容易进行测试
    • 软件演化有更好的灵活性,能快速响应需求变化,维护代价更小

    2、什么AOP

    AOP面向切面,切面将那些与业务无关,却被业务模块共同调用的逻辑提取并封装起来,减少了系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。

    实现策略JAVA SE动态代理、CGLib

    spring aop通知(advice)分成五类: 
    前置通知[Before advice]

    在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常。 
    正常返回通知[After returning advice]

    在连接点正常执行完成后执行,如果连接点抛出异常,则不会执行。 
    异常返回通知[After throwing advice]

    在连接点抛出异常后执行。 
    返回通知[After (finally) advice]

    在连接点执行完成后执行,不管是正常执行完成,还是抛出异常,都会执行返回通知中的内容。 
    环绕通知[Around advice]

    环绕通知围绕在连接点前后,比如一个方法调用的前后。这是最强大的通知类型,能在方法调用前后自定义一些操作。环绕通知还需要负责决定是继续处理join point(调用ProceedingJoinPoint的proceed方法)还是中断执行。 

    3、什么是MVC

    MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,

    是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,

    将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,

    不需要重新编写业务逻辑,达到减少编码的时间。

    4、常用的设计模式

    1工厂方法 关注对象创建。 

    2策略模式 关注对象行为。业务变化时,对数据模块的增加修改不受影响,开放封闭原则。 
    3外观模式 BS/CS 
    4适配品模式 报表自主开发或购买第三方 
    5观察者模式 主界面菜单(菜单的Enable、Vieable状态)采用事件驱动方式

    Spring(ICO控制反转/DI依赖注入)

    5、什么是MyBatis

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。

    MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

    MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

    6、什么是Hibernate

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

    7、什么是JPA

    JPA是Java Persistence API的简称,中文名Java持久层API,

    是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

    SQL

    DROP TABLE IF EXISTS `jd_product`;-- 产品信息表
    CREATE TABLE `jd_product` (
    `prod_no` int(11) NOT NULL AUTO_INCREMENT,-- 产品ID
    `prod_name` varchar(150) NOT NULL,    -- 产品名称
    `prod_TypeId` int(11) DEFAULT NULL,    -- 类型ID
    `prod_brandId` int(11) not null,    -- 品牌ID
    `low_price` decimal(9,2) DEFAULT NULL,    -- 产品最低售价
    `state` int(11) DEFAULT '0',    -- 状态(上架0,下架1)
    `picture` varchar(20) DEFAULT NULL,    -- 产品封面图
    `gmt_create` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    `gmt_update` timestamp NOT NULL default '0000-00-00 00:00:00',
    `else` int(11), -- 作用于其它
    `sales` int(11), -- 销量
    PRIMARY KEY (`prod_no`),    -- 主键
    foreign key (`prod_TypeId`) references jd_protype(`prot_id`), -- 类型外键
    foreign key (`prod_brandId`) REFERENCES jd_brand(`brand_id`) -- 外键
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  • 相关阅读:
    linux下tomcat启动正常,但是外部浏览器无法访问
    mybatis中映射文件和实体类的关联性
    判断用户请求时使用的浏览器类型
    HTML地理位置定位
    使用jQuery的toggle()方法对HTML标签进行显示、隐藏操作
    jQuery怎么去掉标签的hover效果
    java与javascript
    sendRedirect 与forward的区别
    windows--添加程序到右键菜单中
    收集:word xml格式
  • 原文地址:https://www.cnblogs.com/dzcici/p/10446945.html
Copyright © 2020-2023  润新知