【第一章:Spring概述、特点、IOC容器、IOC操作bean管理(基于xml方式创建对象,注入属性)】

第一章:Spring概述、特点、IOC容器、IOC操作bean管理(基于xml方式创建对象,注入属性)

1.Spring是什么?
①Spring是一款主流的java EE 轻量级开源框架。
②广义的Spring:Spring技术栈,Spring不再是一个单纯的应用框架,而是逐渐发展成由多个不同子项目组成的成熟技术。例如:Spring Framework、SpringMVC,SpringBoot等。
③狭义的Spring:特指Spring Framework。Spring框架是一个分层的、面向切面编程的java应用程序,有两个核心模块Ioc和AOP。
④Ioc:控制反转,把创建对象过程交给Spring进行管理。
⑤AOP:面向切面编程。不修改源代码进行功能的增强。
2.Spring特点:
①方便解耦,简化开发。
②AOP编程的支持。
③方便程序的测试。
④方便集成各种优秀框架。
⑤降低Java API开发难度。
⑥方便进行事务操作。
3.IOC容器:
(1)什么是IOC:
①控制反转,把对象的创建和对象之间调用的过程,交给spring处理。
②使用IOC的目的:为例耦合度降低。
(2)IOC底层原理:
①XML解析、工厂模式、反射。
②IOC容器底层就是对象工厂。
③spring提供IOC容器实现的两种方式(两个接口)
BeanFactory:IOC容器基本实现,是spring内部的使用接口,不提供开发人员进行使用(加载配置文件的时候不会创建对象,在获取/使用对象的时候才去创建对象)。
ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用(加载配置文件的时候就会把在配置文件中的对象创建)。
④ApplicationContext接口实现类:
FileSystemXmlApplicationContext和ClassPathXmlApplicationContext
在这里插入图片描述4.IOC操作bean管理:
①bean管理指的是两个操作:spring创建对象;spring注入属性。
②bean管理操作有两种方式:基于XML配置文件方式实现;基于注解方式实现。
5.IOC操作bean管理(基于XML方式):
1)基于XML创建对象:

 <bean id="user" class="spring1.User"></bean>

①在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建。
②在bean标签中有很多属性,介绍常用属性:

id属性:唯一标识
class属性:类的全路径(包和类的路径)
name属性:和id属性一样,name属性内容可以加特殊符号

③创建对象的时候,默认也是执行无参构造方法,完成对象创建。
(2)基于XML方式注入属性:
①DI:依赖注入,就是注入属性。(DI是IOC中一种具体实现,称为依赖注入,就是注入属性。注入属性要在创建对象的基础之上注入)
第一种方式:set方式注入。
1.创建属性和属性对应的set方法;

	 //1.创建属性
    private  String bname;
    private String bauthor;
    //2.创建属性对应的set方法
    public void setBname(String bname) {
        this.bname = bname;
    }
    public void setBauthor(String bauthor) {
        this.bauthor = bauthor;
    }

2.在spring配置文件配置对象创建,配置属性注入。

 <bean id="book" class="spring1.Book" >
        <!--使用property完成属性注入
        name:类里面的属性名称
        value:向属性注入的值
        -->
        <property name="bname" value="java从入门到精通"></property>
        <property name="bauthor" value="宋红康"></property>
    </bean>
@Test
    public void testBook1(){
        //1.加载spring配置文件
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean1.xml");
        //2.获取配置创建的对象
        Book book = applicationContext.getBean("book", Book.class);
        System.out.println(book);
        book.testDemo();
    }

第二种注入方式:使用有参数的构造器注入。
1.创建类,定义属性,创建属性对应有参的构造方法;

public class Orders {
    private String oname;
    private  String address;
    public Orders(String oname, String address) {
        this.oname = oname;
        this.address = address;
    }
}

2.在spring配置文件中配置。

<!--有参构造注入属性-->
    <bean id="orders" class="spring1.Orders">
        <constructor-arg name="oname" value="电脑"></constructor-arg>
        <constructor-arg name="address" value="中国"></constructor-arg>
    </bean>
 @Test
    public void testOrders(){
        //1.加载spring配置文件
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean1.xml");
        //2.获取配置创建的对象
        Orders orders = applicationContext.getBean("orders", Orders.class);
        System.out.println(orders);
        orders.orderTest();
    }

第三种方式:p名称空间注入(了解)。
使用p名称空间注入,可以简化基于XML配置方式。
第一步:添加p名称空间在配置文件中。

<?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:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">

第二步:进行属性的注入,在bean标签里边进行操作。

 <bean id="book" class="spring1.Book" p:bname="三十而立" p:bauthor="lay"></bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值