初学Java ssh之Spring 第二篇
上一篇我們成功搭建好了spring開發(fā)的環(huán)境,接下來一起看看spring有什么神奇的地方吧(本人也是新手,有不太對的地方希望大神給指出便于修改呢,謝謝大家)。
之前聽說spring是在對xml文件的應用比較多,但是具體怎么用一直都是云里霧里,自己在剛開始的時候學習的時候,因為不是直接新建的web項目,沒有自動生成applicationContext.xml,那會不知道這個配置文件是多么的重要,所以在寫了如下一段代碼之后,運行時,總是報錯,還曾傻傻地以為該文件會自動生成,現(xiàn)在想想真可笑。不過如果用myeclipes中自動導入spring架包的功能的話,會自動生成的。現(xiàn)在提醒大家,對于applicationContext.xml一定要首先確認其的存在,再進行接下來的代碼開發(fā)。(對于這種問題,大神們就不必細看了)
applicationContext.xml代碼我已在上一篇博客中給出,我存放在src目錄下,在此我給出鏈接:http://www.cnblogs.com/speedwade/p/3968101.html
接下來是我寫的一個測試的小程序,看看,spring是否已經(jīng)成功配好,路徑我放在src目錄下com.sep.basic包下,新建一個class類,命名為SpringTest。因為我已建好,所以會提示文件已存在,第一次新建時不會有該提示出現(xiàn),如圖
然后其中代碼為
1 package com.sep.basic; 2 3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 6 public class SpringTest { 7 public static void main(String args[]) 8 { 9 //創(chuàng)建applicationcontext 10 ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); 11 //輸出spring容器 12 System.out.println(ctx); 13 } 14 }在新建好的文件上鼠標右鍵點擊Run As/Java Application后,在控制臺會出現(xiàn)類似如下代碼:
?1 org.springframework.context.support.ClassPathXmlApplicationContext@b749757: startup date [Mon Sep 15 17:21:18 CST 2014]; root of context hierarchy?
下面我們來解釋一下,在SpringTest.java中,我們僅僅創(chuàng)建了ApplicationContext的實例,而他正是Spring容器,只有獲得了容器,我們才能成功訪問容器中的Bean。輸出的正是我們創(chuàng)建的ApplicationContext實例。Spring中大部分功能都是通過這個容器來實現(xiàn)的。所以可見它的強大。
下面我們來新建一個簡單的bean來看看Spring是怎么工作的。
首先新建一個簡單的java類文件,命名為FirstBeanTest,其路徑為com.sep.basic.service包下。其代碼為:
1 package com.sep.basic.service; 2 3 public class FirstBeanTest { 4 private String name; 5 //name屬性的setter方法 6 public void setName(String name) { 7 this.name = name; 8 } 9 //測試類的info方法 10 public void Info() 11 { 12 System.out.println("FirstBean's Name is "+name); 13 } 14 }上面給出了一個成員變量與他的set方法。
然后在applicationContext.xml中添加下面代碼:
1 <!-- 將FirstBeanTest類部署到Spring中的bean中 --> 2 <bean id="firstBeanTest" class="com.sep.basic.service.FirstBeanTest"> 3 <property name="name" value="success"></property> 4 </bean>接下來再次回到SpringTest文件中增加代碼如下:
1 FirstBeanTest fbt = ctx.getBean("firstBeanTest",FirstBeanTest.class); 2 3 fbt.Info();好,現(xiàn)在運行,可以看到輸出語句:FirstBean's Name is success
是不是很神奇?我們并沒有手動去創(chuàng)建FirstBeanTest的實例,為什么還會成功的為其賦值呢?這就是Spring的職責了,我們只需要通過spring容器來就可以獲得實例對象,并且可以賦值,這都是spring的功勞,spring會根據(jù)配置信息,獲得對應的實例,并且為其設置對應的屬性值。
這種現(xiàn)象就是我們經(jīng)常聽說的控制反轉(IOC)。
?
轉載于:https://www.cnblogs.com/speedwade/p/3973215.html
總結
以上是生活随笔為你收集整理的初学Java ssh之Spring 第二篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电饭煲保温一天危险吗
- 下一篇: 学习笔记之Java程序设计实用教程