操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    文章目錄

    前言

    是一個輕量級的框架

    一、體系結構介紹

    四大框架:,,JDBC,

    先來學:

    問題:能不能做到不修改任何代碼 實現用戶名查詢切換

    解決方案:

    1.把類名寫到一個配置文件

    2.通過代碼去讀配置文件,反射可以動態的創建對象(提供類名)

    框架(控制反轉IOC)幫我們完成了1+2

    二、使用框架 1.導包

    導入目錄:

    導入地點:

    導入代碼:

    <!--    SpringIOC依賴包-->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>5.3.22</version>
        </dependency>
    

    學習1:控制反轉(IOC):

    現在要創建一個配置文件

    在創建的xml文件中寫入如下代碼:

    <!--    配置類名  Spring創建對象-->
        <bean class="org.example.dao.impl.UserDaoImpl" id="userDao" scope="prototype">
        </bean>
    

    在app文件中,寫入如下代碼:

    //        UserDao userDao = new UserDaoImpl();
    //        讀配置文件,并把配置文件中配的讀到的類名創建該對象
            ApplicationContext applicationContext =
                new ClassPathXmlApplicationContext("applicationContext.xml");
    //        里氏替換原則
    //        單例模式(創建同一個對象)
            UserDao userDao = (UserDao) applicationContext.getBean("userDao");
            System.out.println(userDao.findUser());
    

    學習筆記:

    控制反轉IOC:

    在使用框架后類實現放在頭文件,對象的實例不再由調用者創建類實現放在頭文件,而是由容器來創建,容器會負責控制程序之間的關系,而不是由調用者的代碼直接控制。這樣,控制權由應用代碼轉移到了容器,控制權發生了反轉,這就是控制反轉。

    作用域:

    學習2:依賴注入(DI):

    例一:

    在app中,輸入以下代碼:

    //        一般不直接調用dao -> 通過service來調用dao
            UserDao userDao = (UserDao) applicationContext.getBean("userDao");
            UserService userService = (UserService) applicationContext.getBean("userService");
    //        userService.setUserDao(userDao);
            System.out.println(userService.findUser());
    

    而在配置文件中,輸入一下代碼:

        <bean class="org.example.service.UserService" id="userService">
    <!--        對象間的關聯關系-->
            <property name="userDao" ref="userDao"/>
        </bean>
    

    其中的ref標簽通過其中的值找到,并替代,這樣,就不需要在app類中了

    還有另外一種方法:

        <bean class="org.example.service.UserService" id="userService" autowire="byName">
    <!--        對象間的關聯關系-->
    <!--        <property name="userDao" ref="userDao"/>-->
        </bean>
    

    使用=""標簽來以id來匹配(自動裝配)

    例二:

    控制文件:

        <bean class="org.example.Person" id="person">
            <property name="age" value="20"/>
            <property name="name" value="testname"/>
        </bean>
    

    類:

    package org.example;
    public class Person {
        private String name;
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    

    app中:

            Person person = (Person) applicationContext.getBean("person");
            System.out.println(person.getAge());
            System.out.println(person.getName());
    

    學習筆記:

    依賴注入(DI):

    從容器角度來看,容器負責將被依賴的對象復制給調用者的成員變量,相當于為調用者注入它所依賴的實例,這就是的依賴注入。

    自動裝配:

    學習3:注解:

    類中:

    package org.example;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    //Component Spring 容器創建對象
    //注解默認不生效 -> 開啟注解
    @Component
    public class Person {
        @Value("20")
        private String name;
        @Value("TestName")
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;`在這里插入代碼片`
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    

    配置文件中(開啟注解):

    <?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:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
        <context:component-scan base-package="org.example"/>
    

    app中:

            ApplicationContext applicationContext =
                new ClassPathXmlApplicationContext("applicationContext.xml");
            Person person = (Person) applicationContext.getBean("person");
            System.out.println(person.getAge());
            System.out.println(person.getName());
    

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有