Java 框架之spring

spring学习网址:https://www.bilibili.com/video/av47952931?p=15(巨详细)

Java 整体的框架架构图(理清各个框架工作在哪个层)

在这里插入图片描述
在这里插入图片描述

Spring

spring的核心是IOC(控制反转,意思是把创建对象也就是new类对象的权利交给spring容器,要用到类对象的时候,直接从spring容器中拿),DI(依赖注入)以及API切面编程

Spring使用过程(首先是往项目中导包,idea的话直接新建一个spring项目,然后包就自动为你导好了,然后就是建目标类,这个类是之后要交给spring来创建对象的类,然后新建一个xml文件,idea直接新建一个spring xml文件,然后为目标类添加配置,一个bean可以理解为一个对象,id是之后spring创建对象时调用,可以理解为是对象的id,class是目标类所在的位置,property是定义类的属性,name是属性名称,value是为属性的赋值,ref是当属性是引用属性时,ref是bean中的id,注意类有属性的时候,你想用spring给属性赋值的时候,每个属性都必须要有setter函数,才能在xml中注入属性值,所以不需要定义任何构造函数)

1 整体过程导图
在这里插入图片描述
2 导包:用idea编辑器的时候新建项目是spring项目时,这些jar包是自动导入的
在这里插入图片描述
3 创建目标类,也就是之后要把创建对象权利交给spring的类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4 新建配置文件(任何位置,一般放在src下,任何名字都行,一般命名为applicationContext),在idea的编辑器中,新建如下的spring配置文件,就会自动添加了schema约束,可以直接的添加配置即可
在这里插入图片描述
配置文件的内容,用idea时候直接在任何位置(一般在src下)新建一个XML文件,如下 在这里插入图片描述
那么生成的xml文件就如下:
在这里插入图片描述

需要在里面添加配置,class是你要把创建对象的权利交给spring的类所在的位置,id是用于之后从spring容器获得实例时使用

<?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">


    <!--配置service-->
    <bean  id="UserServiceImplID" class="com\hdl\interfaces\UserServiceImpl.java" </bean>


</beans>

5 测试
在这里插入图片描述

DI的详解(依赖注入)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#目标类
public class BooksaleServiceImpl implements BooksaleService {
    public void addbook(){
        System.out.println("add a  sale book");

    }
}

#目标类
public class BookServiceImpl implements BookService {
    private BooksaleService booksaleService;
    //依赖注入时必须要有setter方法
    public void setBooksaleService(BooksaleService booksaleService) {
        this.booksaleService = booksaleService;
    }
    public void addbook(){
        booksaleService.addbook();

    }
}

#xml的配置
<bean  id="BookServiceImplID" class="E:\IdeaWorkspace\springStudy\src\com\hdl\services\BookServiceImpl.java">
        <property name="" ref="BooksaleServiceImplID"></property>
    </bean>
    <bean  id="BooksaleServiceImplID" class="E:\IdeaWorkspace\springStudy\src\com\hdl\services\BooksaleServiceImpl.java"></bean>


属性注入:
在这里插入图片描述

注解(用注解来替代xml的配置)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将注解加在类名上面,相当于是把类放在了spring里,有三种注解,@Controller,@Service,@Repository分别是放在controller层(action类上),Service层(处理层),dao层(数据交互层),作用是一样的,相当于 作用都是类放在Spring上了,@Controller(“StudentAction”) 相当于 那么属性注入又怎么注解呢?加在属性上的注解是@Autowired,用@Autowired 相当于是同类型注入,只要那个类型的类加入到spring中了,就能直接把属性注入给它,或者同时用两个注解@Autowired@Qualifier(“studentDaoId”)意思是将这个对象的值注入给它

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值