Spring-01

框架=jar包+配置文件

Spring::技术栈“全家桶”,包括SpringFramework,SpringBoot,SpringMVC等…

SpringFramework核心功能:(1)核心容器(2)面向切面编程(3)事务管理(4)SpringMVC

ClassPathXmlApplicationContext:配置文件时XML格式;项目的类路径下resourses
WebApplicationContext:web项目对应的ioc容器

IoC 控制反转:创建对象的权利交给Spring
DI 依赖注入

IoC/DI实现步骤:
1、配置元数据
2、创建 Ioc容器
3、获取bean

基于XML配置方式的组件管理

    <!--
    <bean>对应一个组件对象,id是组件唯一标识,class是组件的类限定符
    -->
    <bean id="HappyComponent" class="org.example.HappyComponent"></bean>

     <!--
    静态工厂ioc配置
    factory-method:静态工厂方法
    实例方法必须static
    -->
    <bean id="client" class="org.example.ClientService" factory-method="creatInstance"></bean>


    <!--
    实例工场方法实例化:1、配置工厂类的组件细信息
                    2、指定非静态工厂对象和方法名
    -->
    <bean id="defaultclent" class="org.example.DefaultServicesLocator" ></bean>
    <bean id="client" factory-bean="defaultclent" factory-method="creatClientServicesInstance"></bean>

di配置

    <!--
    单个参数注入
    value:直接属性值
    ref:、引用其他的bean
    -->
    <bean id="userDao" class="ioc_02.UserDao"></bean>

    <bean  id="userServices" class="ioc_02.UserServices">
        <constructor-arg ref="userDao"></constructor-arg>
    </bean>

    <!--
   多个参数注入
   value:直接属性值
   ref:引用其他的bean
   -->
    <bean id="userService1" class="ioc_02.UserServices">
        <constructor-arg name="age" value="18"></constructor-arg>
        <constructor-arg name="name" value="二狗子"></constructor-arg>
        <constructor-arg name="userDao" value="userDao"></constructor-arg>
    </bean>

Spring-01_第1张图片
Spring-01_第2张图片

    <!--setter方法注入-->
    <bean id="movieFinder" class="ioc_02.MovieFinder"></bean>
    <bean id="simpleMovieLister" class="ioc_02.SimpleMovieLister">
        <property name="movieName" value="小明"></property>
        <property name="movieFinder " ref="movieFinder"></property>
    </bean>

Spring-01_第3张图片

你可能感兴趣的:(SSM自学,spring,java,后端)