Spring(三)——註解方式(Annotation)

Myosotis發表於2018-02-21

一.注入物件/屬性

定義在變數(不推薦,破壞封裝性)或setter上
首先在beans之間新增<context:annotation-config/>
@Autowired 生成Bean時會自動在容器里根據型別匹配

@Autowired
public void setCategory(Category category) {
    this.category = category;
}

@Resource(推薦) 可以注入指定name的bean。預設按名稱,找不到名稱按型別匹配

@Resource(name="c")
private Category category; 

二.對Bean的註解(掃描元件)

先新增<context:component-scan base-package=”包名”/>
讓容器自己去包裡掃描,不需要再手動配置<bean></bean>
在原始碼的類增加@Component註解,即表明此類是bean,掃描到以後容器就生成一個bean

@Component("p")
public class Product {

另外,因為配置從applicationContext.xml中移出來了,所以屬性初始化放在屬性宣告上進行。
常用註解:
@Compenent 通用註解

@Repository 持久層元件註解

@Service 業務層元件註解

@Controller 控制層元件處理

@Value 可以注入指定變數的值

@Scope 可以指定物件的作用域singleton(單例模式,預設)、prototype(多例模式)、request、session、global Session,

@Transactional 表示事務

相關文章