中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring使用注解開發的方法

發布時間:2022-05-20 16:51:47 來源:億速云 閱讀:134 作者:iii 欄目:開發技術

這篇文章主要介紹了Spring使用注解開發的方法的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Spring使用注解開發的方法文章都會有所收獲,下面我們一起來看看吧。

    在Spring4之后 要使用注解開發 必須保證aop包導入了

    Spring使用注解開發的方法

    使用注解需要導入context約束 增加 注解的支持

    <?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
            https://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            https://www.springframework.org/schema/context/spring-context.xsd">
        <!--開啟注解的支持-->
        <context:annotation-config/>
    </beans>

    @Component:組件放在類上 說明這個類被Spring管理了 就是bean

    import org.springframework.stereotype.Component;
    //等價于<bean id="user" class="com.kero.pojo.User"/>
    @Component
    public class User {
        public String name = "xxx";
    }

    @Value

    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    //等價于<bean id="user" class="com.kero.pojo.User"/>
    @Component
    public class User {
        @Value("xxx")
    //等價于<property name="name" value="xxx"/>
        public String name;
    }

    或者

    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    //等價于<bean id="user" class="com.kero.pojo.User"/>
    @Component
    public class User {  
        public String name;
        @Value("xxx")
        public void setName(String name) {
            this.name = name;
        }
    }

    @Component有幾個衍生的注解 我們在Web開發中會按照MVC三層架構分層

    &middot;dao[@Repository]

    &middot;service[@Service]

    &middot;controller[@Controller]

    這四個注解功能一樣 都是代表將某個類注冊到Spring中 裝配Bean

    Spring使用注解開發的方法

    Spring使用注解開發的方法

    Spring使用注解開發的方法

    注解的作用域@Scope

    @Scope 放在類上,默認是單例模式

    @Scope(prototype)是原型模式,每次創建的都是一個新的對象

    Spring使用注解開發的方法

    其作用等價于

    Spring使用注解開發的方法

    補充:

    @Scope("singleton") 或者@Scope 單例模式 下面代碼輸出結果為true

    @Scope("prototype")下面代碼輸出結果為false

    import com.kero.pojo.User;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class MyTest {
        public static void main(String[] args) {
           ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            User user = context.getBean("user", User.class);
            User user2 = context.getBean("user", User.class);
            System.out.println(user==user2);
        }
    }

    xml vs 注解

    &middot;xml更加萬能 適用于任何場合 維護簡單方便

    &middot;注解 不是自己類使用不聊 維護相對復雜

    最佳實踐:xml用來管理bean

    注解只負責完成屬性的注入

    我們在使用的過程中 需要注意 使用以下代碼

    <!--指定要掃描的包 這個包下的注解就會生效->-->
        <context:component-scan base-package="com.kero"/>
        <!--開啟注解的支持-->
        <context:annotation-config/>

    針對最佳實踐的例子

    <?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
            https://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="com.kero"/>
        <!--開啟注解的支持-->
        <context:annotation-config/>
        <bean id="user" class="com.kero.pojo.User" scope="prototype"/>
    </beans>
    import org.springframework.beans.factory.annotation.Value;
    public class User {
        @Value("XXX")
        public String name;
        public void setName(String name) {
            this.name = name;
        }
    }

    關于“Spring使用注解開發的方法”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Spring使用注解開發的方法”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    吴川市| 镇原县| 东明县| 高邑县| 大冶市| 武穴市| 苍山县| 乐安县| 阿勒泰市| 囊谦县| 汕尾市| 兴国县| 鄂温| 静安区| 公安县| 甘谷县| 阜城县| 田东县| 东乡族自治县| 中江县| 工布江达县| 高淳县| 垫江县| 平远县| 建宁县| 石屏县| 靖边县| 黄陵县| 罗平县| 古丈县| 蕲春县| 诸暨市| 呼和浩特市| 阜平县| 广汉市| 河南省| 富川| 汕头市| 河西区| 昌黎县| 龙口市|