首页 > 其他分享 >SpringFramework学习日记

SpringFramework学习日记

时间:2023-02-14 21:48:45浏览次数:42  
标签:Spring SpringFramework public 学习 bean bookDao BookDao save 日记

初识Spring,Spring的系统架构

1、Spring全家桶是一个很nb的生态,我们可以用他开发自己想要的格式的功能

Core Container是Spring的容器,java的对象交给Spring的容器来管理

AOP面向切面编程,Aspects是AOP思想的实现。不太懂,目前理解是中间商,Aspects起到承上启下的作用

DataAccess/Integration 数据访问/集成 用来做数据持久化的架构

Web 开发网页的架构

IOC与DL

IOC(控制反转)是将类属性中的对象的创建权交给外部管理,降低代码的耦合性,这里的外部是Spring,例如

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

Spring的注解文件

<bean id="bookDao" class="com.lrui1.dao.impl.BookDaoImpl"/>

随后可在代码中直接使用Spring容器中的对象

BookDao bookDao = (BookDao) ctx.getBean("bookDao");

代码的耦合性大大降低


DL(依赖注入)是在一个类依赖另一个类的情况下,往该类注入相应的依赖(创建对应的对象)

java代码

public interface BookDao {
    public void save();
}
public class BookDaoImpl implements BookDao {
    public void save() {
        System.out.println("book dao save ...");
    }
}
public interface BookService {
    public void save();
}
public class BookServiceImpl implements BookService {
    private BookDao bookDao;
    public void save() {
        System.out.println("book service save ...");
        bookDao.save();
    }
	// 该方法必须创建
    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }
}

xml代码

<bean id="bookDao" class="com.lrui1.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.lrui1.service.impl.BookServiceImpl">
<!--                配置service与dao的关系-->
                <property name="bookDao" ref="bookDao"/>
        </bean>

xml,property标签中,name指的是该bean中需要依赖的类名,ref是该xml文件中的对应id的bean

可理解为name = new ref

bean的基础配置

bean还有很多的属性哦,看看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.xsd">
        <bean id="bookDao" class="com.lrui1.dao.impl.BookDaoImpl"/>
        <bean id="bookService" name="service1" class="com.lrui1.service.impl.BookServiceImpl" scope="prototype">
<!--                配置service与dao的关系-->
                <property name="bookDao" ref="bookDao"/>
        </bean>
</beans>

(1)id是xml文件中唯一指定的名称

(2)class是类路径,该路径的终点就是bean的定义

(3)name可以定义多个名字,用空格逗号分号隔开

(4)scope可以定义对应bean是单例还是双例,单例—bean对象在内存空间中就1个地址,双例—bean对象在对象空间中可以有多个地址

(5)property负责依赖注入


适合交给容器管理的bean

  • 表现层对象
  • 业务层对象
  • 数据层对象
  • 工具对象

不适合交给容器管理的bean

  • 封装实体域的对象——有数据要存在里面的

标签:Spring,SpringFramework,public,学习,bean,bookDao,BookDao,save,日记
From: https://www.cnblogs.com/lrui1/p/17120962.html

相关文章

  • 通过HH8WilEdit学习WIL 文件编码 7 重新编写HH8WilEdit的框架
     unitmain;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,ExtCtrls,Grids,ExtDlgs,my......
  • 通过HH8WilEdit学习WIL 文件编码 8 MYWIL 单元
    unitmywil;interfaceusesWindows,Classes,Graphics,SysUtils,Dialogs,DIB;constUseDIBSurface:Boolean=FALSE;BoWilNoCache:Boolean=FAL......
  • 通过HH8WilEdit学习WIL 文件编码 5 delpic, outpic, AddOne, AddPic 文件单元
    unitmain;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,ExtCtrls,SUIForm,SUIButton,StdCtrls,SU......
  • 通过HH8WilEdit学习WIL 文件编码 6 对HH8WilEdit的一点认识
    程序一堆BUG,特别是是AddPic单元,原程序都不能正常的运行。放弃了深入的研究这个程序的结构了,但其实它的结构也很简单,编写这个程序的也是菜鸟级别的吧,代码写的很乱,算是......
  • 学习打卡05-方法以及方法重载
    1,方法是什么方法:就是一段具有独立功能的代码块,不调用就不执行2,使用方法有什么好处示例:有两个数组,如果都想遍历其中的每个元素,如果不使用方法就需要两个循环输出不使......
  • python基础学习的第三天
    一、pycharm软件的基本使用安装pycharm语言使用英文版本基本使用1.修改主题背景![](https://img2023.cnblogs.com/blog/3095768/202302/3095768-20230214173111510......
  • FWT 快速沃尔什变换学习笔记
    \(\text{FWT}\)快速沃尔什变换给定两个序列\(a,b\),求解序列\(c\)满足:\[c_i=\sum_{j\cdotk=i}a_jb_k\]其中\(\cdot\)可以为\(\&\),\(|\),还有\(\oplus\)等位......
  • 机器学习 吴恩达 第十一章 笔记
    十一、支持向量机(SupportVectorMachines)11.1优化目标  到目前为止,你已经见过一系列不同的学习算法.在监督学习中,许多学习算法的性能都非常类似.因此,重要的不是......
  • 学习C语言第七天
    今天继续学习分支语句,主要学习是while语句和for语句#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>//intmain()//{// inti=1;// //在while循环中,break用于永......
  • 2.14 背包学习
    12.背包问题求具体方案思路背包问题求具体方案类似于求最短路径问题对于求具体方案来说,可以由最后的最大价值逆推原因是:01背包问题的集合划分就是依靠第i个物品选不选......