目录
1.创建SpringBoot项目
1.未安装插件
2.安装插件
2.尝试着运行这个FirstApplication
3.Spring的核心——IOC(控制反转)/DI的讲解
1.相关概念:
2.什么是IOC,为什么要有IOC?
4.基于XML的方式,演示IOC的使用(本身不是重点,这种方式现在用的越来越少了)
JavaEE进阶:SSM框架,Spring+SpringMVC+MyBatis FrameWork
Spring不是官方开发的 核心功能:提供loc功能
SpringMVC:在Spring基础上,提供了Web开发的能力,这里的内部也是Servlet
MyBatis:代替JDBC的ORM
相对于Servley+JDBC来说,对于开发者更友好的一种开发架构
1.创建SpringBoot项目
Maven管理的项目(pom.xml),Spring提供了一个项目初始化工具(软件),生成工程初始代码(结构、pom.xml、类)
1.未安装插件
如果IDEA中没有安装Spring Assistant插件,就需要我们手动安装,手动的灵活性是比较高的,同样适用于eclipse
点击如下网站,设置配置
https://start.spring.io/
解析压缩包,只需要保留src和pom.xml即可
在idea中打开项目
选择我们刚才解析文件的路径,此时需要等待1-2min
依赖项需要添加web
如图,解析成功。
完成之后,需要手动创建一个static包作为目录
2.安装插件
理论上,使用Spring-assistant和Spring Initializr效果都是一样的,下面演示使用Spring Initializr创建
1.
2. 3.这个小插件可以帮助我们
4.设置项目名称,然后就创建好了,第一次创建需要等待5min左右~
2.尝试着运行这个FirstApplication
1.出现错误,java:无效的源发行版13:
可能是jdk下载版本和使用版本不一致,需要手动调整,参考Idea 报Error:java:无效的源发行版13_柳落青的博客-CSDN博客_无效的源发行版13
再次尝试运行,仍然出现错误,手动调整pom.xml
我的自动生成version是3.0,经过比对以前的maven文件,我改为了2.7.6,此时运行正确。
2.运行成功
spring本质功能:提供了IOC的功能
SpringMVC= (Servlet+Spring+自己的代码)
IOC(Inversion of Cotrol控制反转)/DI(Dependency Inject依赖注入)
程序 = 很大一波对象以及对象和对象之间的关系构造
如果软件规模不大,对象以及对象的关系比较少,自己看代码是完全可以理清楚的。随着软件规模的变大,需要生产关系的调整来适应这种变化
1.IOC(Inversion of Cotrol控制反转)/DI(Dependency Inject依赖注入)
3.Spring的核心——IOC(控制反转)/DI的讲解
1.相关概念:
bean:在java语境下,经常用bean来指代一类具有某种特征的对象
Spring语境:bean还是对象,专指Spring容器管理着的对象
Spring商场中售卖的对象就可以被称为SpringBean
SpringContainer:一般指由Spring构造的一种对象市场(买卖双方均可使用)
Spring容器可能还需要复杂bean的生产过程
IOC:控制反转 思考问题时,不需要考虑对象是怎么创建的,谁创建的,而更多的考虑我需要 什么角度,这种方式就叫做控制反转
DI:依赖注入 指的是IOC中将对象送货上门的过程,站在买方的角度,声明自己依赖什么对象 (需求),注入过程由Spring容器完成
DI和IOC在某些上下文可以认为说的是一件事情
Spring容器:
BeanFactory接口(bean工厂) -> ApplicationContext 应用上下文
2.什么是IOC,为什么要有IOC?
自给自足的生产模式 -> 市场经济的模式
4.基于XML的方式,演示IOC的使用(本身不是重点,这种方式现在用的越来越少了)
我们在实际应用时,需要自己写代码,将application类删除,在resources下创建一个spring-config,其中的内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>