Spring(7) 註解的基本使用

2021-09-29 00:24:55 字數 3347 閱讀 8237

一、註解基本使用介紹

二、環境

三、**實現

四、簡化上述**

五、註解

六、bean新增別名

使用annotation注釋替換之前較為複雜的spring.xml管理**的方式。

1.pom

org.springframework

spring-core

4.3.7.release

org.springframework

spring-context

4.3.7.release

junit

junit

4.12

test

1.**

(1)bean1類

package com.spring.ioc;

/** * created by administrator on 2019/10/26.

*/public class bean1

(2)myconfiguration類(相當於之前的spring.xml檔案)

package com.spring.ioc;

import org.springframework.context.annotation.configuration;

import org.springframework.context.annotation.bean;

/** * created by administrator on 2019/10/26.

*/@configuration

public class myconfiguration

}

2.測試

package com.spring.ioc;

import org.junit.test;

/** * created by administrator on 2019/10/26.

*/public class testcode

}

結果:

bean1 = com.spring.ioc.bean1@36f0f1be
1.myconfiguration.class類

在配置檔案上面新增componentscan註解,掃瞄指定包下面的例項物件

package com.spring.ioc;

import org.springframework.context.annotation.componentscan;

import org.springframework.context.annotation.configuration;

import org.springframework.context.annotation.bean;

/** * created by administrator on 2019/10/26.

*/@configuration

@componentscan(value = "com.spring.ioc")

public class myconfiguration

2.bean1.class類

新增@component註解,說明是乙個交由spring管理的bean物件。備註:value可以指定對應id,預設id是方法的bean的第乙個字母小寫。

package com.spring.ioc;

import org.springframework.stereotype.component;

/** * created by administrator on 2019/10/26.

*/@component(value = "bean2")

public class bean1

3.測試**

package com.spring.ioc;

import org.junit.test;

/** * created by administrator on 2019/10/26.

*/public class testcode

}

結果

bean1 = com.spring.ioc.bean1@2145433b
1.@controller:被標註在controller層

2.@service:被標註在service層

3.@repository:被標註在dao層

4.@component:通用型註解

1.修改配置檔案

只能用比較複雜的注入方式

package com.spring.ioc;

import org.springframework.context.annotation.componentscan;

import org.springframework.context.annotation.configuration;

import org.springframework.context.annotation.bean;

/** * created by administrator on 2019/10/26.

*/@configuration

//@componentscan(value = "com.spring.ioc")

public class myconfiguration )

public bean1 bean1()

}

2.bean1類

package com.spring.ioc;

import org.springframework.stereotype.component;

/** * created by administrator on 2019/10/26.

*///@component(value = "bean2")

public class bean1

4.測試**

package com.spring.ioc;

import org.junit.test;

/** * created by administrator on 2019/10/26.

*/public class testcode

}

測試**

bean1 = com.spring.ioc.bean1@36f0f1be

bean3 = com.spring.ioc.bean1@36f0f1be

Spring7大模組了解

spring7大模組 spring core spring中提供了兩個概念 乙個概念叫做 ioc 控制反轉 控制反轉,反轉的是啥?1 舉例 以前我們在建立類的的時候 怎麼建立的?自己程式建立的 new這個關鍵字來建立的 有了spring之後這個物件的建立 就不是我們來完成了 而是由 spring來完...

Spring7種事務傳播行為型別

事務傳播行為種類 spring在transactiondefinition介面中規定了7種型別的事務傳播行為,它們規定了事務方法和事務方法發生巢狀呼叫時事務如何進行傳播 事務傳播行為型別 事務傳播行為型別 說明propagation required 如果當前沒有事務,就新建乙個事務,如果已經存在乙...

Spring常用的基本註解

dao repository 寫在dao層 service service 寫在service層 controller controller 寫在controller層 scope 寫在多人訪問controller上 屬性注入 autowired 寫在需要注入的屬性上 resource name l...