依赖注入-构造器注入

2732 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
Java工程师,Java初学者
你将会学到
Spring全家桶视频课程
课程简介

Spring 框架

        1、框架作用

                指的是实现软件开发的基础软件产品,不同框架在软件开发的各个模块中起到简化开发作用??

                比如:Spring 负责解耦。 Struts2.x MVC层次分离。 Hibernate|M负责持久化。

                学框架的目的:简化开发。

        2、Spring 框架介绍

                    Spring 是企业级 Java应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性

                    能好、易于测试、可重用的代码。Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于

                    2003 年 6 月**在 Apache 2.0 许可下发布。Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。Spring

                    框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。

                    Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。

        3、Spring 体系结构

                    Spring 最核心的是 IOC容器 和 AOP编程。其他它模块是可选模块,且其他模块是构建在IOC容器基础之上的。

                    Spring在javaEE开发中占有非常重要的地位,几乎是必须学习的技术,同时它提供了javaEE开发中几乎全部的模

                    块,为企业级应用程序提供服务。

1.png

        4、为什么需要Spring

                    Spring IOC容器可以实现 代码的解耦,其实基本思路就是实现了一个功能强大的BeanFactory 工厂,同时可以缓存各

                    种Bean实例(对象),我们需要某个特定的Bean 实例从IOC获取

2.png

                    JavaBean: javaEE下的一个技术规范。

                    JavaBean: 泛指一切Java 类型 DaoImpl ServiceImpl(或叫组件)。

                    IOC容器: IOC(控制反转),指当前类交出控制权,交给容器,我们需要某个对象 通过容器获得,而不是自己创建

JPA

        1、JPA介绍

                    JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并

                    将运行期的实体对象持久化到数据库中 Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE

                    应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。


11.png

Spring Data JPA 查询规范

21.png

SpringMvc

SpringMVC架构(MVC设计模式在BS系统下的应用)

在这里插入图片描述

Springmvc项目架构图

在这里插入图片描述


Spring Boot

        SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置。开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置,Convention over configuration,是一种由SpringBoot本身来配置目标结构,由研发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。

        SpringBoot应用系统开发模板的基本架构设计从前端到后台进行说明:前端常使用模板引擎,主要有FreeMarker和Thymeleaf,它们都是用Java语言编写的,渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,同时前端开发还会使用到Bootstrap、AngularJS、JQuery等;在浏览器的数据传输格式上采用Json,非xml,同时提供RESTfulAPI;SpringMVC框架用于数据到达服务器后处理请求;到数据访问层主要有Hibernate、MyBatis、JPA等持久层框架;

SpringCloud

        1、简化的分布式系统

        2、构建分布式系统不需要复杂且容易出错。Spring Cloud为常见的分布式系统模式

        提供了简单易用的编程模型,帮助开发人员构建弹性,可靠和协调的应用程序。

        3、Spring Cloud构建于Spring Boot之上,使开发人员可以轻松入门并快速提高工作效

        率(包括:服务注册/发现,配置中心,全链监控,服务网关,负载均衡,熔断器等等...)

        4、Spring Cloud提供一套分布式的微服务架构的解决方案,说白了,就是各个

        微服务架构技术的集合体

        5、Spring Cloud利用SpringBoot的开发巧妙的简化了分布式系统的基本设施开发,并且

        提供了快速的构建分布式系统的一些工具,其中包括(配置管理、服务发现、熔断器、路

        由、微代理、事件总线、全局锁、分布式会话等....)

        都可以使用SpringBoot的开发风格一键启动和部署

        6、SpringBoot只是将各个公司比较成熟服务框架结合起来,并通过Spring的风格进行封

        装屏蔽了复杂的配置和实现原理,提供一套简单易懂,容易部署与维护的分布式系统开

        发工具包

31.png

展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交