Spring boot框架的核心思想

Spring:全家桶 Spring、springMvc、Spring boot、Spring cloud

历史:出现在2002左右,解决企业开发的难度。减轻项目模块之间的管理,类和类之间的管理,帮助开发人员创建对象,管理对象之间的关系
核心技术:Iocaop。能实现模块之间,类之间的解耦合(淡化类关系)。
管理依赖:classA中使用了classB的属性或者方法,叫做classA依赖classB

此次学习使用模块:Spring Framework

在这里插入图片描述
在这里插入图片描述

spring框架优点
  1. 轻量:核心功能jar总共在3M左右
  2. 针对接口编程,解耦合
  3. AOP编程的支持(AOP面向切面编程)
  4. 方便集成各种优秀的框架,如:Spring+Mybatis
IoC(Inversion of Control)控制反转
  1. 核心思想:把对象的创建,赋值,管理工作都交给代码之外的**容器(Spring)**实现,也就 是对象的创建是由其他外部资源完成
  2. 目的:减少对代码的改动。也能实现不同的功能,实现解耦合
  3. IoC的体现:Tomcat容器:里面存放的Servlet对象,Listener,Filter对象

控制:创建对象,对象的属性赋值,对象之间的关系管理
反转:把原来的开发人员管理,创建对象的权限转移给代码之外的容器实现
正转:由开发人员在代码中,使用new构造方法创建对象

  1. IoC的技术实现:
  • DI(Dependcy Injection)是ioc的技术实现:
作用:只需要在程序中提供要使用的对象名称即可,至于对象如何在容器中创建、赋值、查找都由容器内部实现
Spring正是使用了di实现了ioc的功能,Spring底层创建对象使用了反射机制!

spring boot优点使用原因:

使用原因:

  • 相对于SpringMVC+Spring+MyBatis框架进行开发,有了极大的简化:用之前三个框架的时候我们需要配置web.xml,配置Spring,配置Mybastis,并将他们整合在一起,而Spring Boot则抛弃了繁琐的xml配置过程!使用它:编码变得更加简单!配置变得更加简单!监控变得更加简单了!

特性:

① 能够快速创建基于Spring的应用程序;
② 能够直接使用java main方法启动内嵌的tomcat服务器运行Spring Boot程序,不许部署war包文件;
③ 提供约定的starter POW来简化Maven配置,让Maven的配置变得简单
④ 自动化配置,根据项目的Maven依赖配置,Spring Boot自动配置Spring、Spring Mvc等;
⑤ 基本可以完全不适用XML配置文件,采用注解配置;
⑥ 提供了程序检测检查等功能。
四大特性:自动配置、起步依赖、Actuator(开发极少涉及)、命令行界面(开发极少涉及)

入门实例:
1、如何创建一个springboot 框架web项目->创建空项目,新建module,添加起步依赖spring web;
2、使用springboot框架集成springmvc,使用注解集成
3、使用springboot框架的核心配置文件application.properties
设置内嵌tomcat端口:server.port=xxxx
设置上下文根:server.servlet.context-path=/xxxx
4、使用springboot框架的核心配置文件application.yml\application.yaml

server:
  port: 8081
  servlet:
    context-path: /springboot

5、springboot框架的和配置文件application.properties/yml/yaml同时存在?
优先级:protperties>yml=yaml

#主核心配置文件
#激活使用配置文件
spring.profiles.active=dev
spring:
    profiles:
        adctive: dev

6、多环境下核心配置文件(properties/yml/yaml几个情况一样只做properties演示)的使用,工作中开发的环境有哪些:开发环境,测试环境,准生产环境,生产环境

7、springboot在和配置文件application.properties自定义配置文件

server.port=8080
server.servlet.context-path=/tyf


#自定义配置
MyName=tyf
websit=http://www.baidu.com


@Controller
public class IndexController {
    @Value("${MyName}")
    private String MyName;


    @Value("${websit}")
    private String websit;


    @RequestMapping(value = "/say")
    @ResponseBody
    public String say(){
        return "Hello " + MyName+ ":" + websit;
    }
}
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值