標籤:spring ioc 代碼 樣本 從零開始
由於學習需求,最近突然通知需要學習Spring,但是由於之前很少使用Java,所以感覺還是有點慢,花了大約兩周,弄懂了基本的結構也編了點小程式。還是萬事開頭難啊,網上總是很難找到學習spring的指引資料,學習一個東西最主要的還是學習他的思想,還有就是一個可靠地學習建議,這東西會讓你事半功倍,學習一定要依賴於書本,網上再好的資料都不如一本書,這個是本科+研究生的經驗總結,spring學習可以參考《spring實戰》,這本書寫得很精彩,但是就是需要有點高度,如果你從零開始那將會有一些困難,我最近將會慢慢寫一寫基礎的代碼,有利於理解《spring實戰》,也適合從零開始的小白,只要你懂Java就行。
Spring基本的概念是AOP和DI,這東西不要指望我能將明白,我如果說明白了就寫書了,但是可以給你一些簡單代碼,給你一些輔助~~看看這篇文章吧
http://www.blogjava.net/hh-lux/archive/2006/12/10/86757.html
在例子前,首先介紹一下spring架構的目的,spring為了是降低代碼之間的耦合性(DI),特別適合為架構添加中間控制(AOP的概念)
我們來個簡單的例子
public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
來個main函數測試一下
public class test {public static void main(String[] args) { User user = new User(); user.setAge(10); System.out.println(user.getAge());}}
以上的代碼再簡單不過了吧,我們定義類並由我們來進行執行個體化
但是有了Spring的DI之後我們將不再這麼做
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <bean id="user" class="blog1.User"> <property name="age"> <value>10</value> </property> </bean></beans>
我們利用bean容器使用xml檔案為我們注入執行個體化的屬性。對應的我們的main函數也需要更改
public class test { public static void main(String[] args) { // User user = new User(); // user.setAge(10); // System.out.println(user.getAge()); ApplicationContext ac = new ClassPathXmlApplicationContext("blog1/bean.xml"); User user = (User)ac.getBean("user"); System.out.println(user.getAge()); }}
bean.xml就是上面的設定檔,注意xml的檔案位置,將包檔案中的“.”換成“/”。這就是一個簡單的例子,對應於IOC和DI的概念理解一下。spring將User的執行個體化交給了spring的bean容器,減少了代碼之間的耦合,當然這個非常的簡單。
spring編程還需要很多的包檔案,在學習的時候很是反感,因為沒有人一次性告訴你需要什麼jar包。
我打包了目前需要的jar包(不要積分!!),不懂的話全部加上(如果不會載入jar包,上網搜一下- -b)
http://download.csdn.net/detail/wsrspirit/8866941
這時代碼的(沒積分趕緊來)
http://download.csdn.net/detail/wsrspirit/8866955
<特別注意,一開始以為是spring,所以建立的java工程也是dynamic web。。這裡的spring還是選擇一般的java工程就行了:)>
spring的介紹將會慢慢來~~
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Spring 從零開始-01