ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ssm入门学习

2022-01-14 17:03:24  阅读:116  来源: 互联网

标签:学习 入门 spring Spring ssm bean 使用 注解 注入


Spring入门学习

优点

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

总结:Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架

Spring boot

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

SpringCloud

是基于SpringBoot实现的

学习上面2个的基础是:学习Spring 和 SpringMVC

IOC理论推导

通过注入的方法,降低耦合性,当业务改变时,更改代码的成本更低
控制反转是一种描述(XML或注解)并通过第三方去生产或获取对象的方式。在Spring中实现控制反转的是IOC容器,其实现方法是依赖注入(Dependency Injection,DI)

使用IOC创建Spring

  1. 使用无参构造函数
  2. 下标构造
  3. 类型构造
  4. 参数名构造 (建议)
    总结:在配置文件加载的时候,容器中的对象就已经被实例化了

Spring配置

  1. alias:别名
  2. id:bean的唯一标识符,相当与对象名
  3. class:bean对象相当的路径:包名+类型
  4. name:别名,可以取多个
  5. import:一般用于团队使用,可以将多个配置文件合并为一个

依赖注入

构造器注入

set方式注入

依赖注入:set注入
依赖:bean对象的创建依赖于容器
注入:bean对象中所以属性,由容器来注入

注意点:p命名和c命名空间不能直接使用,需要导入xml约束

bean的作用域

  1. 单例模式(默认)
  2. 原型模式:每次get时会创建一个新对象
  3. 其余request、session、application、这些只能在web开发中使用到

bean的自动装配

  1. 自动装配是spring满足bean依赖的一种方式
  2. spring会在上下文中自动寻找,并给bean装配属性

在spring中有三种装配的方式

  1. 在xml中显示的配置
  2. 在java中显示配置
  3. 隐式的自动装配bean【重要】
    autowrite=""
    byName :会自动在容器上下文中查找,和自己对象set方法后面的值对应的beanid
    byType:同上,匹配和自己对象属性相同的bean

小结:

byname的时候,需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法指一致。
bytype的时候,需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型指一致

注解实现自动装配

要使用注解须知:

  1. 导入约束 context
  2. 配置注解的支持 context:annotation-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"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config/>

</beans>

@Autowired :可以直接在属性上使用即可,也可以在set方式上使用!
使用Autowired 我们可以不用编写set方法,前提是在ioc中存在,并且符合名字byname
科普:@Nullable 字段标记了这个注解说明改字段可以为空(null)
使用@Autowire的字段装配环境比较复杂,无法使用单个@Autowired完成时可以使用@Qualifier(value=“xxx”)来配合使用

@Resource:默认使用byname的方式实现,如果找不到名字,则通过byType实现,都找不到则报错

使用注解开发

在spring4之后,使用注解开发要导入aop的包
使用注解要加context约束

  1. bean
  2. 属性注入
    @Component 等价 @value 内容注入
  3. 衍生的注解
    @Component 有几个衍生注解,在web开发中,按照mvc三层架构分层
    dao【@Repository】
    service【@Service】
    controller【@Controller】
  4. 自动装配
  5. 作用域
    @Scope
  6. 小结
    xml更万能,适用任何场景,方便维护
    注解,不是自己类使用不了,维护叫复杂
    最佳实践:
    xml管理bean
    注解复杂属性注入
    ***使用注解时,要开启注解支持和扫描包

使用java的方式配置Spring

javaconfig是Spring的应该子项目,在spring4之后,成为一个核心功能!代替配置文件

代理模式

*** 注:是SpringAOP的底层

  1. 静态代理
  2. 动态代理

整合Mybatis

原因:方便连接数据库
步骤:

  1. 导入相关jar包
    junit
    mybatis
    mysql
    spring
    aop
    mybais-spring
  2. 编写配置文件
  3. 测试

mybatis

  1. 编写实体类
  2. 编写核心配置文件
  3. 编写接口
  4. 编写Mapper.xml
  5. 测试

Mybatis-spring

  1. 编写数据源配置
  2. sqlSessionFactory
  3. sqlSessionTemplate
  4. 需要给接口加实现类
  5. 将自己写的实现类,注入到Spring中
  6. 测试

声明事物

事物ACID原则

  1. 原子性
  2. 一致性
  3. 隔离性
  4. 持久性

spring中的事物管理

声明事物:AOP
编程式事物:需要在代码中,进行事物的管理

标签:学习,入门,spring,Spring,ssm,bean,使用,注解,注入
来源: https://blog.csdn.net/weixin_52178296/article/details/122368819

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有