最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring IOC的相關(guān)注解運用詳解

 更新時間:2023年08月09日 09:33:23   作者:會洗碗的CV工程師  
這篇文章主要介紹了Spring IOC的相關(guān)注解運用詳解,純注解實現(xiàn)IOC需要一個Java類代替xml文件,這個Java類上方需要添加@Configuration,表示該類是一個配置類,作用是代替配置文件,需要的朋友可以參考下

一、@Configuration

此時基于注解的IOC配置已經(jīng)完成,但是我們依然離不開Spring的xml配置文件。接下來我們脫離bean.xml,使用純注解實現(xiàn)IOC。

在真實開發(fā)中,我們一般還是會保留xml配置文件,很多情況下使用配置文件更加方便。 純注解實現(xiàn)IOC需要一個Java類代替xml文件。這個Java類上方需要添加@Configuration,表示該類是一個配置類,作用是代替配置文件。

SpringConfig配置類

package com.example;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SpringConfig {
}

二、@ComponentScan

1. 說明

作用:指定spring在初始化容器時掃描的包。 位置:配置類上方

SpringConfig配置類

package com.example;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("com.example")
public class SpringConfig {
}

2. 測試方法

    // 測試純注解
    @Test
    public void t4(){
        ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);
        StudentService service = ac.getBean("studentService",StudentService.class);
        System.out.println(service.findById(8));
    }

3. 運行結(jié)果

OK,確實可以。

三、@PropertySource

1. 說明

作用:代替配置文件中的 <context:property-placeholder> 掃描配置文件

位置:配置類上方

注意:配置文件位置前要加關(guān)鍵字 classpath

JdbcConfig配置類

package com.example;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import java.sql.Connection;
import java.sql.DriverManager;
@Configuration
@PropertySource("classpath:db.properties")
public class JdbcConfig {
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
    @Override
    public String toString() {
        return "JdbcConfig[ " +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                " ]";
    }
}

2. 測試方法

    // 測試純注解掃描jdbc
    @Test
    public void t5(){
        ApplicationContext ac = new AnnotationConfigApplicationContext(JdbcConfig.class);
        JdbcConfig config = (JdbcConfig) ac.getBean("jdbcConfig");
        System.out.println(config);
    }

3. 測試結(jié)果

OK,也是沒有問題的。

四、@Bean

1. 說明

  • 作用:將方法的返回值對象放入Spring容器中。如果想將第三方類的對象放入容器,可以使用@Bean
  • 位置:配置類的方法上方。
  • 屬性:name:給bean對象設(shè)置id
  • 注意:@Bean修飾的方法如果有參數(shù),spring會根據(jù)參數(shù)類型從容器中查找可用對象。
  • 舉例:如果想將jdbc連接對象放入Spring容器,我們無法修改Connection源碼添加@Component,此時就需要使用將@Bean該對象放入Spring容器

2. 添加驅(qū)動依賴

在pom.xml文件添加依賴

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>

3.將Connection對象放入Spring容器

    @Bean("connection")
    public Connection getConnection(){
        try{
            Class.forName("com.mysql.cj.jdbc.Driver");
            return DriverManager.getConnection("jdbc:mysql:///mysql","root","666666");
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }

4. 測試

測試方法

    // 測試注解bean
    @Test
    public void t6(){
        ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);
        Connection connection = (Connection) ac.getBean("connection");
        System.out.println(connection);
    }

運行結(jié)果

OK,也是可以成功獲取連接的

五、@Import

1. 說明

作用:如果配置過多,會有多個配置類,該注解可以為主配置類導(dǎo)入其他配置類

位置:主配置類上方

上述我們講的,SpringConfig應(yīng)當(dāng)為主配置類,所以該注解應(yīng)當(dāng)添加在SpringConfig類的上方

package com.example;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@ComponentScan("com.example")
@Import(JdbcConfig.class)
public class SpringConfig {
}

2. 測試方法

    // 測試純注解
    @Test
    public void t4(){
        ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);
        JdbcConfig jdbcConfig = ac.getBean("jdbcConfig",JdbcConfig.class);
        System.out.println(jdbcConfig);
    }

3. 運行結(jié)果

OK,確實也是可以獲取的。說明主配置類成功導(dǎo)入了。本章Spring IOC的學(xué)習(xí)就到這里了。

到此這篇關(guān)于Spring IOC的相關(guān)注解運用詳解的文章就介紹到這了,更多相關(guān)Spring IOC注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot調(diào)用Poi-tl實現(xiàn)渲染數(shù)據(jù)并生成Word文檔

    SpringBoot調(diào)用Poi-tl實現(xiàn)渲染數(shù)據(jù)并生成Word文檔

    這篇文章主要為大家詳細介紹了SpringBoot如何調(diào)用Poi-tl實現(xiàn)渲染數(shù)據(jù)并生成Word文檔,文中的示例代碼講解詳細,有需要的小伙伴可以了解下
    2023-09-09
  • IDEA安裝IDE Eval Reset插件實踐

    IDEA安裝IDE Eval Reset插件實踐

    ideaevalreset是一個JetBrains的良心產(chǎn)品,通過添加第三方插件倉庫地址并安裝IDEEvalReset插件,可以刷新IntelliJ IDEA的試用期限,實現(xiàn)無限期使用
    2026-03-03
  • 使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類

    使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類

    這篇文章主要為大家詳細介紹了如何使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • mybatisplus中返回Vo的案例講解

    mybatisplus中返回Vo的案例講解

    這篇文章主要介紹了mybatisplus中返回Vo的案例,mybatisplus內(nèi)置的幾個方法使用泛型限制了方法的返回類型,所以實現(xiàn)返回Vo還是得自定義方法,?這個方法名盡量不要和原有的名字類似,本文通過實例代碼給大家詳解講解,需要的朋友可以參考下
    2023-03-03
  • Java中的byte & 0xff到底有什么作用?

    Java中的byte & 0xff到底有什么作用?

    這篇文章主要介紹了Java中的byte & 0xff到底有什么作用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java 中Comparable和Comparator區(qū)別比較

    Java 中Comparable和Comparator區(qū)別比較

    本文,先介紹Comparable 和Comparator兩個接口,以及它們的差異;接著,通過示例,對它們的使用方法進行說明
    2013-09-09
  • springmvc整合ssm配置的詳細代碼

    springmvc整合ssm配置的詳細代碼

    今天通過實例代碼給大家介紹了springmvc整合ssm配置的詳細方法,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11
  • SpringBoot集成redisson全過程

    SpringBoot集成redisson全過程

    本文主要介紹了如何集成Redisson,包括環(huán)境配置、引入Redisson的依賴、添加Redisson的配置類以及Redisson的常見使用方法,在類中注入Redisson后,可以獲取鎖對象和使用,這些都是作者的個人經(jīng)驗,供讀者參考
    2024-10-10
  • java后臺批量下載文件并壓縮成zip下載的方法

    java后臺批量下載文件并壓縮成zip下載的方法

    這篇文章主要為大家詳細介紹了java后臺批量下載文件并壓縮成zip下載的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 解決springboot文件配置端口不起作用(默認8080)

    解決springboot文件配置端口不起作用(默認8080)

    這篇文章主要介紹了解決springboot文件配置端口不起作用(默認8080),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論

大安市| 普安县| 介休市| 商洛市| 抚州市| 株洲市| 洞口县| 哈尔滨市| 台南市| 洛川县| 长岭县| 禄丰县| 运城市| 射阳县| 巴彦县| 揭西县| 乐安县| 忻城县| 乌鲁木齐市| 玉溪市| 荥阳市| 友谊县| 治多县| 蓝田县| 湟中县| 普定县| 泗阳县| 阿巴嘎旗| 宁国市| 高台县| 黄梅县| 汉沽区| 岫岩| 林周县| 闸北区| 望谟县| 汉沽区| 丹阳市| 淮滨县| 轮台县| 额敏县|