溫馨提示×

溫馨提示×

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

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

Spring的注解有哪些

發(fā)布時間:2021-12-20 14:55:08 來源:億速云 閱讀:118 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“Spring的注解有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

####@Configuration  
用于指定當前類是一個 spring 配置類,當創(chuàng)建容器時會從該類上加載注解。獲取容器時需要使用AnnotationApplicationContext(有@Configuration  注解的類.class)。當注解的配置類作為AnnotationConfigApplicationContext對象創(chuàng)建的參數(shù)時,該注解可以省略

ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfiguration.class);

屬性:value:用于指定配置類的字節(jié)碼
####@ComponentScan  
用于指定 spring 在初始化容器時要掃描的包。作用和在 spring 的 xml 配置文件中的:<context:component-scan base-package="com.xx"/>是一樣的。
屬性:basePackages:用于指定要掃描的包。和該注解中的 value 屬性作用一樣。
####@Bean  
該注解只能寫在方法上,用于把當前方法的返回值放入spring的IOC容器中。如果注解的方法有參數(shù)的時,spring框架回去容器中查找有沒有可以匹配的bean對象,與Autowired注解的作用是一樣的
屬性:name 指定當前bean的id,默認值是當前方法的名稱。
xml配置文件

<context:component-scan base-package="com.bx"></context:component-scan>    <bean id="runner" class="org.apache.commons.dbutils.QueryRunner" scope="prototype">        <constructor-arg name="ds" ref="dataSource">        </constructor-arg>    </bean>    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>        <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf-8"></property>        <property name="user" value="root"></property>        <property name="password" value="baxiang"></property>    </bean>

轉(zhuǎn)換成注解

@Configuration@ComponentScan(basePackages = "com.bx")public class SpringConfiguration {    @Bean(name = "runner")    public QueryRunner createQueryRunner(DataSource dataSource){        return new QueryRunner(dataSource);    }    @Bean("datasource")    public DataSource createDataSource(){        try {            ComboPooledDataSource ds = new ComboPooledDataSource();            ds.setDriverClass("com.mysql.jdbc.Driver");            ds.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf-8");            ds.setUser("root");            ds.setPassword("baxiang");            return ds;        }catch (Exception e){            e.printStackTrace();        }        return null;    }}

####@PropertySource  
用于加載 .properties 文件中的配置 。配置數(shù)據(jù)源時,可以把連接數(shù)據(jù)庫的信息寫到properties 配置文件中,就可以使用此注解指定 properties 配置文件的位置。
屬性:value[]:用于指定 properties 文件位置。如果是在類路徑下,需要寫上 classpath
jdbcConfig.properties

設(shè)置@PropertySource注解 需要設(shè)置classpath

####@Import  
用于導入其他配置類,在引入其他配置類時,可以省略@Configuration  注解。
屬性:value[]:用于指定其他配置類的字節(jié)碼。當我們使用Import的注解之后,有Import注解的類就是父配置類,而導入的都是子配置類

“Spring的注解有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

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

AI