spring笔记

index.jsp是一个不用的文件,因为他不全,可以直接删除再webapp下创建一个新的index.jsp
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如果想开启可以改为,2.4以上版本

在这里插入图片描述

maven创建的项目,web.xmI文件中的内容,默认是关闭el表达式的,可以替换一下:

<?xml version="1.0”encoding="UTF-8"?>

<web- -app version= “2.4” xmIns= “http:/ /java.sun.com/ xml/ns/j2ee”

xmIns:xsi=“http:/ /www.w3.org/2001 /XML Schema- _instance”

xsi:schemal ocation= "http:/ /java.sun.com/xml/ns/j2ee

http://java. sun.com/xml/ns/j2ee/web -app 2_ 4.xsd">

这样就是默认开启el表达式了

源文件夹目录(写代码):java

配置文件(类似eclipse的config)resources

单元测试test

单元测试配置文件testresources

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

1.1 什么是spring

Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是 于2003年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。

在这里插入图片描述

1.2 优势

1.方便解耦,简化开发

2.AOP编程的支持

3.声明式事务的支持

4.方便程序的测试

5.方便集成各种优秀框架

6.降低Java EE API的使用难度

7.Java源码是经典学习范例

1.3 版本一 spring4.X (教学使用)

1.4 spring模块划分

在这里插入图片描述

Spring Framework由大约20个模块组成的功能组成。这些模块分为核心容器,数据访问/集成,Web, AOP (面向方面编程),仪器,消息传递和测试,如下图所示

  1. Spring核心容器:核心容器是Spring框架的重要组成部分,也可以说是Spring框架的基础。他在整个框架中的作用是负责管理对象的创建,管理,配置等等的操作。其主要包含spring-core, spring-beans,spring-context, spring expression, spring-context-support组件。

2.面向切面编程:Spring框架还提供了面向切面编程的能力,利用面向切面编程,可以实现一些面向对象编程无法很好实现的操作。例如,将日志,事务与具体的业务逻辑解耦。其主要包含spring-aop,spring-aspects组件。

  1. Instrumentation:该模块提供了为JVM添加代理的功能,该模块包含spring-instrument,spring-instrument-tomcat组件,使用较少,不必过分关注。

4.数据访问与集成:Spring框架为了简化数据访问的操作,包装了很多关于数据访问的操作,提供了相应的模板。同时还提供了使用ORM框架的能力,可以与很多流行的ORM框架进行整合,如hibernate,mybatis 等等的著名框架。还实现了数据事务的能力,能够支持事务。包含spring-jdbc,spring-tx, spring-orm, spring- oxm,spring-jms, spring- messgging组件。

  1. Web和远程调用: Spring框 架支持Web开发,以及与其他应用远程交互调用的方案。包含spring-web, spring-webmvc, spring-websocket. spring-webmvc-portlet组件。

  2. Spring测试: Spring框架提供 了测试的模块,可以实现单元测试,集成测试等等的测试流程,整合了JUnit或名TestNG测试框架。包含spring-test组件。

以上就是Spring框架的几个主要模块。而在实际的开发过程中,不必要引入所有的Jar包,只需要引入与自己项目相关的库就行了。例如,只需要Spring框架的容器功能,实现依赖注入,那么只需要引入核心框架的几个库就完成了,其他模块例如Aop模块的库是没有必要引入的。

3.1_ JlOC(inversion of control控制反转)
在这里插入图片描述

控制:控制对象的创建和销毁(生命周期)

反转:以前创建对象由程序员完成,现在由spring来完成,底层可以理解为“工厂+反射+配置文件"实现程序解耦合;

BeanFactory:老版本的工厂类

调用getBean的时候,才会生成类的实例(2019年没有了)

ApplicationContext:新版本的工厂类

ApplicationContext:加载配置文件的时候,就会将Spring管理的类都实例化

ApplicationContext有两个实现类

ClassPathXmlApplicationContext加载类路径下的配置文件

FileSystemXmlApplicationContex:加载文件系统下的配置文件

web应用中初始化容器(springMVC)

监听器、servlet

3.2. DI (Dependency injection依赖注入)

前提要有IOC

组件不做定位查询,只提供普通的Java方法让容器去决定依赖关系。容器全权负责的组件的装配,它会把符合依赖关系的对象通过JavaBean属性或者构造函数传递给需要的对象。

Spring使用

spring.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>


</bean>

<bean id="car" class="org.example.demo1.Car">
    <constructor-arg name="brand" value="宝马"/>
    <constructor-arg name="color" value="red"/>
</bean>

spring核心配置

构造方法>接口初始化>bean配置初始化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值