使用了xml去構建專案
提示:以下是本篇文章正文內容,下面案例可供參考
xml是一種用於標記電子檔案使其具有結構性的標示語言。
需要建立一個類跟一個介面分別為:
//SomeService.java
public interface SomeService {
void doSome();
}
//SomeServiceImpl.java
public class SomeServiceImpl implements SomeService {
@Override
public void doSome() {
System.out.println("執行了SomeServiceImpl中的doSome方法");
}
}
beans.xml的作用:
告訴spring建立物件
宣告bean,就是告訴spring要建立的某個類的物件
id:物件的自定義名稱,唯一值。spring通過名稱找到物件
class:類的全限定名稱(不能是介面,因為spring是反射機制建立物件,必須使用類) spring就完成 SomeService service1=new SomeServiceImpl();
spring是把建立好的物件放在map,spring中有一個map存放物件的。
springMap.put(id的值,物件);
例如:springMap.put(「someService」,new SomeServiceImpl());
一個 bean宣告一個物件。
<bean id="someService" class="com.kekek.service.impl.SomeServiceImpl" />
String name:names是foreach的列舉
其實
for (String name:names) {
System.out.println("容器中定義的物件名稱:"+name);
}
等同於
for (int i = 0; i < names.length ; i++) {
System.out.println("容器中定義的物件名稱:"+names[i]);
}
完整程式碼
@Test
public void test03(){
//編寫xml的名稱
String config="beans.xml";
ApplicationContext ac=new ClassPathXmlApplicationContext(config);
//使用spring提供的方法,獲取容器中定義的物件的數量
int nums=ac.getBeanDefinitionCount();
System.out.println("容器中定義的物件數量:"+nums);
//容器中每個定義的物件的名稱
String names [] = ac.getBeanDefinitionNames();
for (String name:names) {
System.out.println("容器中定義的物件名稱:"+name);
}
}
beans.xml中只有一個bean,且名稱為someService