SSM框架 Spring的简介 第一个Spring小程序 2021.3.3

Spring

简介

轻量级的java开发架构,完成对象的定义,对象的获取,对象之间的依赖关系

SpringMVC:是轻量级Web框架,分离了控制器,模型对象,分派器

1.1 Spring的基本应用

1.11 什么是Spring

一站式,可以运行在服务器或者代码里

IOC(控制反转,对象创建的权力转移,由Spring创建对象)

AOP(面向切面编程),只需要写与业务相关的内容

EJB:老工具开发架构,低效的

采用三层体系架构

  • 表示层:Struts框架整合
  • 业务逻辑层:管理事务,记录日志
  • 持久层:Hibernate、JdbcTemplate

1.12 Spring框架的优点

  1. 非侵入设计:不用实现接口,实现接口就是代码侵入
  2. 方便解耦 简化开发,像个工厂,降低主键耦合性
  3. 支持AOP:集中式的处理代码,简化代码开发
  4. 支持声明式事务处理:不用写代码处理事务,写个标签属性就可以处理事务
  5. 方便程序测试,提供Junit的支持
  6. 方便集成优秀框架,不取代,将框架整合在一起
  7. 降低JavaEE API的使用难度:对API封装,简化代码编写

1.13 Spring的体系结构

采用分层架构,一系列功能被分为20个模块,这20个模块又被分为4个模块

image-20210303092609735

1.Core Container(核心容器)
  • Beans:提供BeanFactory 将管理对象成为Bean
  • Core:IoC 和DI功能
  • Context:上下文模块
  • SpEL:是一门语言:是查询和操作对象的强大的表达式语言

2.Data Access/Integration(数据访问集成)

JDBC:提供了JDBC抽象层,方便对数据库的操作

ORM:对象关系映射API

OXM:是一个XML

Transactions:支持实现特殊接口以及所有POJO类的编程和声明式的事务管理

3. Web

WebSocket

Servlet:MVC

Web:继承特性.文件上传

Portlet

4.其他模块

AOP:面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,降低耦合性.

Aspects:提供与AspectJ的集成功能,AspectJ是一个面向切面的编程框架

image-20210303093522948

1.14 Spring下载

下载地址:https://repo.spring.io/simple/libs-release-local/org/springframework/spring/4.3.6.RELEASE/

依赖包:https://downloads.apache.org//commons/logging/binaries/commons-logging-1.2-bin.zip

选择第一个,下载姐雅

image-20210303094427115

我们常用的是以RELEASE.jar结尾的

RELEASE-javadoc.jar:java压缩的api文档

RELEASE-sources

对应核心模块的四个jar包

image-20210303094637953

1.2 Spring的核心容器

1.21 BeanFactory

创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,采用XML文件形式管理.

BeanFactory beanFactory=new XmlBeanFactory(new FileSystemResource("F:/sss/xml"))

image-20210303100320619

1.22 ApplicationContext

是BeanFcatory的子接口

从class文件路径下取找,用下边的用的多

image-20210303100430760

image-20210303100451502

创建Spring容器以后,可以获取Spring容器中的Bean,Spring获取Bean的实例通常采用以下两种方法

  • getBean(String name),返回Object
  • 第二种

image-20210303100719830

1.3 Spring的入门程序

需要准备xml文件内容

<?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
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
 <!-- 将指定类配置给Spring,让Spring创建其对象的实例 ,id是咱们自己定义.calss是实现类的位置-->
    <bean id="userDao" class="come.xiucai.ioc.UserDaoImpl"></bean>
    
    </beans>

需要UserDAO接口

需要写 USERDAOimp 实现接口

测试类:

        //1.初始化容器,加载配置文件
		ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
		//2.通过容器获取UserDao实例,加入了强制类型转换
		
		UserDao userDao=(UserDao) applicationContext.getBean("userDao");
		
		//3.调用实例方法
		userDao.say();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秀才大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值