• Java框架学习 2018.5.1


    Java框架学习

    https://blog.csdn.net/u011531613/article/details/51099745
    https://blog.csdn.net/kingscoming/article/details/78837809

    学习Servlet和JSP。这个步骤不是可以跳过的,现在流行的框架Spring MVC和Struts2其实都是基于Servlet的,只有深入理解了Servlet才能理解后面的新技术。

    0.css,html,js,因为你做java web开发这些都是必须要掌握的。
    1.java语法基础,可以看think in java
    2.servlet,jsp,jdbc,结合html,css,js实现自己想要的小网站,功能慢慢积少成多,会学到更多的只是
    3.spring,springmvc,springdata,hibernate等框架学习,一上来用这些框架忽略基础,这样会出现只会用xxx框架,换个yyy框架又得重新学习的感觉
    4.设计模式,aop,oop等的学习,当然可以和之前的步骤反复来研究提高。

    框架整合
    最初是Struts+ Spring + Hibernate。
    后来演变为Struts2 + Spring + Hibernate。
    后来随着Spring的强大以及Struts漏洞上的等等问题,演变成为了Spring + SpringMVC + Hibernate/Mybatis 互联网这块比较常见的是Mybatis。
    最近也慢慢演变为了Springboot + Mybatis。

    首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是一种软件设计的典范,最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。

    虽然MVC并不是Java当中独有的,但是现在几乎所有的B/S的架构都采用了MVC框架模式,但是MVC在B/S架构中并没有完全地实现,其实我们根本不需要掌握未实现的部分。
    ·控制器Controller:控制器即是控制请求的处理逻辑,对请求进行处理,负责请 求转发;
    ·视图View:视图即是用户看到并与之交互的界面,比如HTML(静态资源),JSP(动态资源)等等。
    ·模型Model:模型代表着一种企业规范,就是业务流程/状态的处理以及业务规则的规定。业务流程的处理过程对其他层来说是不透明的,模型接受视图数据的请求,并返回最终的处理结果。业务模型的设计可以说是MVC的核心。

    MVC模式被广泛用于Java的各种框架中,比如Struts2、spring MVC等等都用到了这种思想。

    Struts2是基于MVC的轻量级的web应用框架。基于MVC,说明基于Struts2开发的Web应用自然就能实现MVC,也说明Struts2着力于在MVC的各个部分为我们的开发提供相应帮助。

    https://blog.csdn.net/snakeMoving/article/details/53208410

    JavaWeb经典三层框架
    我们常说的三层框架是由JavaWeb提出的,也就是说这是JavaWeb独有的!
    所谓三层是表述层(WEB层)、业务逻辑层(Business Logic),以及数据访问层(Data Access)。
    ·WEB层:包含JSP和Servlet等与WEB相关的内容;
    ·业务层:业务层中不包含JavaWeb API,它只关心业务逻辑;
    ·数据层:封装了对数据库的访问细节;
    Alt text

    使用JDBC连接来读写数据库,我们最常见的就是打开数据库连接、使用复杂的SQL语句进行读写、关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常烦琐的过程。

    Hibernate

    这时出现了Hibernate框架,它需要你创建一系列的持久化类,每个类的属性都可以简单的看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应。当我们需要相关操作是,不用再关注数据库表。我们不用再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能。使我们的软件开发真正面向对象,而不是面向混乱的代码。我的感受是,使用Hibernate比JDBC方式减少了80%的编程量。

    Spring
    Spring的作用就是完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。至于如何实现这个接口,这都不重要了。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完全通过配置文件的方式替代了。

    所以Spring框架最核心的就是所谓的依赖注射和控制反转。

    另外,由于Spring使用的依赖注射以及AOP(面向方面编程),所以它的这种内部模式非常优秀,以至于Spring自己也实现了一个使用依赖注射的MVC框架,叫做Spring MVC,同时为了很好的处理事物,Spring集成了Hibernate,使事物管理从Hibernate的持久层提升到了业务层,使用更加方便和强大

    Struts框架是2000年就开始起步了,到目前已经发展了5年,技术相当成熟,目前全球Java开发中Struts框架是显示层技术中当之无愧的王者。它拥有大量的用户群和很好的开发团队。这也是国内大部分Java软件公司对新进员工的基本要求。


    2018年5月1日 19:27:39
    总感觉java要学会了框架才算了真的入门,因为对html前端有小了解的我来看. 基础性的语法,变量等.都是很基础很基础的东西.
    https://spring.io/
    spring框架的高大上的官网.
    蓝色淡绿的大气配色.精致的LOGO,宽泛的页面...看起来怎么看,怎么舒服...
    Alt text
    导航栏的PROJECTS(项目)栏目里有一些Spring开头的项目模块.虽然暂时不知道它们的具体作用是什么,但是看到这些模块一个个像是"电视中"的马卡龙那样安静地摆在玻璃橱柜中,就有种想拿出来"吃掉"的冲动~~~
    Alt text
    导航的GUIDES,是spring的指南部分,而最后一个是BLOG博客.
    我们现在关注一下GUIDES!~
    Guides
    Whatever you're building, these guides are designed to get you productive as quickly as possible – using the latest Spring project releases and techniques as recommended by the Spring team.
    无论您正在构建什么,这些指南都是为了让您尽可能快地提高效率——使用Spring团队推荐的最新Spring项目发布和技术。

    Getting Started Guides
    这些指南的设计将在15-30分钟内完成,这些指南提供了快速的、实际的指导,用于构建任何带有Spring的开发任务的“Hello World”。在大多数情况下,惟一的先决条件是JDK和文本编辑器。

    https://spring.io/docs

    https://spring.io/docs/reference
    Documentation 文档
    Here you'll find quick access to API and reference documentation for all Spring projects.
    在这里,您可以快速访问所有Spring项目的API和参考文档。

    https://start.spring.io/
    Alt text

    https://spring.io/guides/gs/spring-boot/ (原谅翻译为'靴子'的翻译软件吧)
    本指南提供了Spring引导如何帮助您加速和促进应用程序开发的示例。当您阅读更多的Spring入门指南时,您将看到更多的Spring引导用例。它的意思是让你快速品尝一下春天的靴子。如果您想创建您自己的Spring boot项目,请访问Spring Initializr,填写您的项目详细信息,选择您的选项,您可以下载Maven构建文件,或者将一个打包的项目作为zip文件下载。

    https://blog.csdn.net/tangtong1/article/details/51326887 官方文档中文版

    Alt text
    Alt text
    Alt text
    祝贺,你已经成功地创建了你的第一个 Spring 应用程序。通过更改 “message” 属性的值并且保持两个源文件不变,你可以看到上述 Spring 应用程序的灵活性。下一步,我们开始在接下来的几个章节中做一些更有趣的事情。

    Spring IoC 容器

    IoC 容器
    Spring容器是Spring框架的核心, 容器将创建对象, 把它们连接在一起, 配置它们, 并管理他们的整个生命周期从创建到销毁. Spring容器使用依赖注入(DI)来管理组成一个应用程序的组件. 这些对象被称为Spring Beans,我们将在下一章进行讨论.
    通过阅读配置元数据提供的指令, 容器知道对哪些对象进行实例化, 配置和组装. 配置元数据可以通过XML, Java注释 或 Java代码来表示. 下图是 Spring 如何工作的高级视图. Spring IoC 容器利用 Java 的POJO类和配置元数据来生成完全配置和可执行的系统或应用程序.
    POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
    Alt text
    Spring提供了以下两种不同类型的容器.

    序号 容器&描述
    1 Spring BeanFactory 容器
    它是最简单的容器,给DI提供了基本的支持,它用org.springframework.beans.factory.BeanFactory接口来定义. BeanFactory或者相关的接口,如BeanFactoryAware, InitializingBean, DisposableBean, 在Spring中仍然存在具有大量的与Spring整合的第三方框架的反向兼容性的目的.
    2 Spring ApplicationContext 容器
    该容器添加了更多的企业特定的功能,例如从一个属性文件中解析文本信息的能力,发布应用程序事件给感兴趣的事件监听器的能力.该容器是由org.springframework.context.ApplicationContext接口定义.

    ApplicationContext容器包括BeanFactory容器的所有功能,所以通常建议超过BeanFactory.
    BeanFactory仍然可以用于轻量级的应用程序, 如移动设备或基于applet的应用程序,其中它的数据量和速度是显著的.

    Spring BeanFactory 容器

    Spring的BeanFactory容器
    这是一个最简单的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframework.beans.factory.BeanFactor 中被定义。 BeanFactory 和相关的接口,比如,BeanFactoryAware、 DisposableBean、InitializingBean,仍旧保留在 Spring 中,主要目的是向后兼容已经存在的和那些 Spring 整合在一起的第三方框架。

    在 Spring 中,有大量对 BeanFactory 接口的实现。其中,最常被使用的是 XmlBeanFactory 类。这个容器从一个 XML 文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。

    在资源宝贵的移动设备或者基于 applet 的应用当中, BeanFactory 会被优先选择。否则,一般使用的是 ApplicationContext,除非你有更好的理由选择 BeanFactory。

    例子:
    假设我们已经安装Eclipse IDE , 按照下面的步骤, 我们可以创建一个 Spring 应用程序.

    步骤 描述
    1 创建一个名为SpringExample的工程并在src文件夹下新建一个名为com.ykmimi文件夹
    2 点击右键,选择Add External JARs选项,导入Spring的库文件,正如我们在Spring Hello World Example 章节中提到的导入方式
    3 在com.ykmimi文件夹下创建HelloWorld.java和MainApp.java两个类文件
    4 在src文件夹下创建Bean的配置文件Beans.xml
    5 最后的步骤是创建所有Java文件和Bean的配置文件的内容,按照如下所示步骤运行应用程序
  • 相关阅读:
    Linux shell脚本基础学习详细介绍(完整版)二
    python读取单个文件操作
    【转载】HTTP 缓存的四种风味与缓存策略
    【转载】HTTP 响应头与状态码
    【转载】HTTP 请求头与请求体
    【转载】HTTP 基础与变迁
    3-2 从单词中获取单词出现的频率信息,并把他们写进对应的列表里
    170925_2 Python socket 创建UDP的服务器端和客户端
    170925_1 Python socket 创建TCP的服务器端和客户端
    2-2 列表推导同 filter 和 map 的比较
  • 原文地址:https://www.cnblogs.com/ukzq/p/15647087.html
Copyright © 2020-2023  润新知