siulon

导航

spring初笔记

Spring

简化了企业级开发的复杂性

简介

2002年首次推出Spring框架的雏形,interface21

Spring框架:以interface21为基础,重新设计,不断丰富内涵,在2004年3月24日首次发布1.0正式版
Rod Johnson, Spring Framework的创始人,悉尼大学的博士,不是计算机专业,而是音乐学
Spring理念:是现有的技术更加容易使用

SSH框架Struct2 + Spring + Hibernate

SSM框架SpringMVC + Spring + Mybatis

优点

Spring是一个开源的免费的、轻量级,非侵入式框架,IOC(控制反转)和AOP(面向切面编程) 支持事务处理,对框架整合的支持

说白了Spring就是一个轻量级的控制反转和面向切面编程的框架

Spring Boot
1. 一个快速开发的脚手架
2. 基于它可以快速开发单个微服务
  1. 约定大于配置
Spring Cloud

​ 基于SpringBoot进行快速开发

现在大多数公司都在使用SpringBoot的前前提是,完全掌握Spring和SpringMVC
承上启下的作用

IOC一句话来说就是:对象由spring来创建,管理、装配,IOC创建对象使用无参构造创建,默认带参构造创建对象

<!--有参构造创建对象,第一种,下标赋值-->
<bean id="user" class="com.siulon.pojo.User">
				<constructor-arg index="0" value="000"/>
</bean>
<!--有参构造创建对象,第二种,,通过类型创建对象,不建议使用-->
<bean id="user" class="com.siulon.pojo.User">
		<constructor-arg type="java.lang.String" value="siulon"/>
</bean>
<!--有参构造创建对象,第三种,,通过参数名创建对象-->
<bean id="user" class="com.siulon.pojo.User">
	<constructor-arg name="name" value="333"/>
</bean>

Spring配置

别名

<alias name="user" alias="别名"/>

Bean的配置

id:bean的唯一标识符,相当与对象名
class:bean对象所对应的全限定名:包名+类型
name:也是别名,并且可以取多个别名

import

一般用于团队开发使用,它可以将多个配置文件,导入合并为一个
<import resource="beans.xml"/>

依赖注入DI

set方式注入【重点】

  1. 依赖注入:set注入
  2. 依赖:bean对象的创建依赖于容器
  3. 注入bean对象中所有的属性,用容器来注入

构造器注入

如果只有一个有参数的构造方法并且参数类型与注入的bean的类型匹配,那就会注入到该构造方法中

注解注入

使用注解需要注意

  • 导入约束 context约束

  • 配置注解的支持

    <context:annotation-config/>
    

@Autowired(自动注入)有三个属性: Constructor,byType,byName ;默认按照byType注入

  • constructor:通过构造方法进行自动注入,spring会匹配与构造方法参数类型一致的bean进行注入,如果有一个多参数的构造方法,一个只有一个参数的构造方法,在容器中查找到多个匹配多参数构造方法的bean,那么spring会优先将bean注入到多参数的构造方法中。
  • byName:被注入bean的id名必须与set方法后半截匹配,并且id名称的第一个单词首字母必须小写,这一点与手动set注入有点不同。
  • byType:查找所有的set方法,将符合符合参数类型的bean注入。

主要有四种注解可以注册Bean,每种注解可以任意使用,只是语意有所差异

  1. @Component可以用于注册所有的bean
  2. @Resposity可以用于注册dao层的bean
  3. @Controller主要用于注册控制层的bean
  4. @Service主要用于注册服务层的bean

事务的ACID原则

  • 原子性
  • 一致性
  • 隔离性
  • 持久性

声明式事务:aop

编程式事务:需要在代码中进行事务管理

为什么要使用事务

  • 如果不配置事务,可能存在数据提交时不一致的情况
  • 事务在开发中十分重要,涉及到数据的一致性和完整性,不容有失

posted on 2021-09-02 10:16  siulon  阅读(28)  评论(0编辑  收藏  举报