首页 > 其他分享 >ssm第一天学习

ssm第一天学习

时间:2022-10-08 00:11:04浏览次数:39  
标签:学习 第一天 Spring bookDao ssm bean BookDao IoC public

SSM

· IOC

·AOP

初识Spring :

Spring全家桶

Spring Framework 底层框架,设计性框架

Spring Boot 加速开发,提高开发速度

Spring Cloud 分布式开发

 

Spring Framework系统架构

Spring Framework是Spring生态圈最基础的项目

· Core Container:核心容器

· Aspects: A OP思想实现

· AOP: 面向切面编程

· Data Access: 数据访问

· Data Integration: 数据集成

· Web: Web开发

· Test: 单元测试与集成测试

 

image-20221007181948836

 

核心概念: IoC/DI,IoC容器,Bean

 

目标: 充分解耦

· IoC:(Inversion of Control)控制反转

解决耦合度偏高的问题,不再主动new产生对象,转为由外部提供对象

 

· Spring技术对IoC思想进行实现

· Spring提供一个容器,IoC容器来充当“外部” == Core Container

· IoC容器负责对象的创建,初始化等 被创建或者管理的对象在IoC中统称为Bean

 

· DI(Dependency Injection)依赖注入

· 在容器中建立bean和bean之间的依赖关系的整个过程,为依赖注入

 

最终效果:使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系

 

入门案例

定义在Spring管理的类(接口)

public interface BookDao {
   public void save();
}
public class BookDaoImpl implements BookDao {
   public void save(){
       System.out.println("book dao");
  }
}

 

建立maven依赖 ==== Spring环境

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>5.2.10.RELEASE</version>
   </dependency>

 

在Spring配置xml文件中配置bean

<!--    2.配置bean-->
   <bean id="bookDao" class="com.liuxin.dao.impl.BookDaoImpl"/>

calss配实现类,需要用它创建对象

id配一个名字

注意:bean定义时id属性在同一个上下文不能重复

 

在主方法中运行

 public static void main(String[] args) {
       //3.获取IoC容器
       ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");// 这里参数为配置的spring的xml文件名
       //4.获取bean
       BookDao bookDao = (BookDao) ctx.getBean("bookDao");
       //5.调用bean对象方法
       bookDao.save();
  }

 

运行报错:不支持发行版本5

解决办法:设置 =》构建,执行,部署 =》java编译器 =》将目标字节码版本改为9

image-20221007203454134

 

DI入门案例

-----基于上一个案例

 

public class BookServiceImpl implements BookService {
   //删除业务层中使用new方法创建的dao对象
   //private BookDao bookDao=new BookDaoImpl();

   private BookDao bookDao;

   public void save(){
       System.out.println("book service");
       bookDao.save();
  }

   //提供对应的set方法
   public void setBookDao(BookDao bookDao) {
       this.bookDao = bookDao;
  }
}

 

配置service和dao的关系

<!--    2.配置bean-->
   <bean id="bookDao1" class="com.liuxin.dao.impl.BookDaoImpl"/>

   <bean id="bookService" class="com.liuxin.service.impl.BookServiceImpl">
<!--   7.置service和dao的关系-->
       <property name="bookDao" ref="bookDao1"/>
   </bean>

property标签表示配置当前bean的属性

name属性表示配置哪一个具体的属性 -----配实例的变量名

ref属性表示参照哪一个bean ------配id

 

bean配置

基本配置

image-20221007225937796

别名配置

image-20221007231749991

// id和name地位相同

bean作用范围配置

image-20221007232517407

bean实例化

1.构造方法

调用的是无参构造方法

如果无参构造方法不存在,将抛出异常BeanCreationException

标签:学习,第一天,Spring,bookDao,ssm,bean,BookDao,IoC,public
From: https://www.cnblogs.com/suiyiliuxin-629728/p/16767571.html

相关文章

  • Vue学习(三)
    ajax请求xhr一般不直接使用,层层封装jquery现在基本不用axios通过promise实现对ajax技术的一种封装fetchpromise封装异步操作newpromise(resolve,reject),然后......
  • 【深度学习前沿应用】图像分类Fine-Tuning
    【深度学习前沿应用】图像分类Fine-Tuning作者简介:在校大学生一枚,华为云享专家,阿里云星级博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资......
  • 学习mysql176. 第二高的薪水
     SQL架构Employee 表:+-------------+------+|ColumnName|Type|+-------------+------+|id|int||salary|int|+-------------+---......
  • 2022-2023 20221403《计算机基础与程序设计》第六周学习总结
    2022-202320221403《计算机基础与程序设计》第六周学习总结作业信息作业模板作业要求教材学习内容总结Polya如何解决问题理解问题设计方案执行方案回顾(分析......
  • 第六周学习总结
    2022-2023-120221427《计算机基础与程序设计》第六周学习总结作业信息班级链接(2022-2023-1-计算机基础与程序设计)作业要求(2022-2023-1计算机基础与程序设计......
  • Netty 学习(九):解码源码说明
    Netty学习(九):解码源码说明作者:Grey原文地址:博客园:Netty学习(九):解码源码说明CSDN:Netty学习(九):解码源码说明解码就是不断地从TCP缓冲区中读取数据,每次读取完都需要判断......
  • 2022-2023-1学期 20221417魏正一 《计算机基础与程序设计》第6周学习总结
    第六周学习目标·Polya如何解决问题·简单类型与组合类型·复合数据结构·查找与排序算法·算法复杂度·递归·代码安全学习资源·教材·阅读「反作弊」:任何时......
  • ssm 企业客户管理系统 -分享
    ​​编辑​编辑​编辑​编辑    用户登录/退出信息功能说明:(1)登录:用户用浏览器打开网站前台页面后,通过在页面输入账号和密码等信息后,点击登录按钮。系统后台判断......
  • ssm 实验室管理系统 分享
    ​​编辑 ​编辑 ​编辑 采用B/S架构,网站前端页面采用主流JSP技术,后端使用SSM框架,可以实现良好的交互效果、快速开发及数据库高效访问能力。所开发的网站经过实际......
  • HTML学习
    HTML学习初识HTMLHTML:HyperTextMarkupLanguage(超文本标记语言)HTML5+CSS3纯天然跨平台W3C:WorldWideWebConsortium(万维网联盟)W3C标准:机构化标准语言:HTML、......