1. 程式人生 > >使用註解裝配Bean

使用註解裝配Bean

 註解@Component代表Spring Ioc 會把 這個類掃描生產Bean 例項,而其中 value屬性代表這個類在Spring 中的id,這就相當於XML方式定義的Bean  的 id

現在有了這個類還不能測試,因為Spring IOC 並不知道  需要去哪裡掃描物件,這時候可以使用一個Java Config 來告訴它

package com.nf147.manage.spring;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component(value 
= "role") public class Big { @Value("1") private int id; @Value("可愛的小豬") private String name; @Value("1") private int age; @Override public String toString() { return "Big{" + "id=" + id + ", name='" + name + '\'' + "
, age=" + age + '}'; } }

 

注意:包名要和程式碼Big類一致,

@ComponentScan 代表 進行掃描,預設是掃描當前包的路徑,spring 的包名要和它保持一致才能說掃描,否則是沒有的

 

package com.nf147.manage.spring;

import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class PojoConfig {
}

 

呼叫程式碼:

使用了 AnnotationConfigApplicationContext類去初始化Spring Ioc 容器,它是配置項是Big的PojoConfig類,這樣Spring Ioc 就會根據註解的配置去解析對應的資源,來生成容器。

 

 

package com.nf147.manage.spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {
    public static void main(String[] args) {


        ApplicationContext context= new AnnotationConfigApplicationContext(PojoConfig.class);
        Big bean = context.getBean(Big.class);
        System.out.println(bean);


    }
}

 

 效果圖: