Spring4.0MVC學習資料,簡單學習教程(一)
Spring Framework 4.0 學習整理。
Spring框架的核心部分就是Ioc容器,而Ioc控制的就是各種Bean,一個Spring專案的水平往往從其XML配置檔案內容就能略知一二,很多專案,往往是外包公司的專案,配置檔案往往是亂七八糟,抱著能跑就行,不報錯就行的態度去寫,然後在專案中後期發現各種缺失又去一通亂補,其結果就是,整個文件可讀性極差,毫無章法。這也不能怪寫這個XML的人,拿著苦逼程式設計師的工資幹著架構師的工作必然是這個結果。為了程式設計師的幸福,我認為有必要來一套簡單快速的官方文件核心配置歸納整理和解釋,好讓苦逼猿們在工作中能正確快速的提高自身和專案的整體水平。
看程式碼:
package com.herman.ss.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.herman.ss.pojo.Person;
/**
* @see spring4.0.0最新穩定版新特性,簡單時候教程1
* @author Herman.Xiong
* @date 2014年7月18日14:49:42
*/
public class Test0 {
/**
* @see spring4.0簡單使用教程0
*/
public static void test0(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項
Person person0=(Person)ctx.getBean("person0");
//3.列印bean屬性
System.out.println(person0);
//4.給bean屬性複製
person0.setName("herman");
person0.setAge(20);
System.out.println(person0);
}
/**
* @see spring4.0簡單使用教程1
*/
public static void test1(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項 只存在一個bean例項的時候可以使用Person.class 獲取bean
Person person0=(Person)ctx.getBean(Person.class);
//3.列印bean屬性
System.out.println(person0);
//4.給bean屬性複製
person0.setName("herman");
person0.setAge(20);
System.out.println(person0);
}
/**
* @see spring4.0簡單使用教程2
*/
public static void test2(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項,這是不能使用Person.class獲取bean了,因為這時配置了兩個Person bean,只能根據bean的id獲取bean
Person person0=(Person)ctx.getBean("person1");
//3.列印bean屬性
System.out.println(person0);
}
/**
* @see spring4.0簡單使用教程3 使用value為物件屬性賦值
*/
public static void test3(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項
Person person0=(Person)ctx.getBean("person2");
//3.列印bean屬性
System.out.println(person0);
}
/**
* @see spring4.0簡單使用教程4 使用bean的建構函式注入
*/
public static void test4(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項
Person person0=(Person)ctx.getBean("person3");
//3.列印bean屬性
System.out.println(person0);
}
/**
* @see spring4.0簡單使用教程5 使用bean的type為屬性賦值
*/
public static void test5(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項
Person person0=(Person)ctx.getBean("person4");
//3.列印bean屬性
System.out.println(person0);
}
/**
* @see spring4.0簡單使用教程6 使用bean的引用物件以及null物件
*/
public static void test6(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項
Person person0=(Person)ctx.getBean("person5");
//3.列印bean屬性
System.out.println(person0);
}
/**
* @see spring4.0簡單使用教程7 使用bean的引用物件以及使用index下標為bean屬性賦值
*/
public static void test7(){
//1.載入配置檔案
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/herman/ss/config/applicationContext.xml");
//2.獲取bean例項
Person person0=(Person)ctx.getBean("person5");
//3.列印bean屬性
System.out.println(person0);
}
public static void main(String[] args) {
//test0();
//test1();
//test2();
//test3();
//test4();
//test5();
//test6();
test7();
}
}
配置檔案applicationContext.xml:
<?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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
<bean id="person0" class="com.herman.ss.pojo.Person"></bean>
<bean id="person1" class="com.herman.ss.pojo.Person">
<property name="age" value="20"></property>
<property name="name" value="herman"></property>
</bean>
<bean id="person2" class="com.herman.ss.pojo.Person">
<property name="age">
<value>20</value>
</property>
<property name="name">
<value>herman</value>
</property>
</bean>
<bean id="person3" class="com.herman.ss.pojo.Person">
<constructor-arg name="name" value="herman"></constructor-arg>
<constructor-arg name="age" value="20"></constructor-arg>
</bean>
<bean id="person4" class="com.herman.ss.pojo.Person">
<constructor-arg type="int" value="20"></constructor-arg>
<constructor-arg type="java.lang.String" value="herman"></constructor-arg>
</bean>
<bean id="house" class="com.herman.ss.pojo.House">
<constructor-arg>
<null></null>
</constructor-arg>
<constructor-arg name="address" value="Shanghai"></constructor-arg>
<constructor-arg name="price" value="10000000.12"></constructor-arg>
</bean>
<bean id="person5" class="com.herman.ss.pojo.Person">
<constructor-arg type="int" value="20"></constructor-arg>
<constructor-arg type="java.lang.String" value="herman"></constructor-arg>
<constructor-arg type="com.herman.ss.pojo.House" ref="house"></constructor-arg>
</bean>
<bean id="person6" class="com.herman.ss.pojo.Person">
<constructor-arg type="int" value="20" index="1"></constructor-arg>
<constructor-arg value="herman" index="0"></constructor-arg>
<constructor-arg type="com.herman.ss.pojo.House" ref="house"></constructor-arg>
</bean>
</beans>
<bean class=”這個Bean的類” name/id=”Bean在容器裡面的唯一名稱”
scope=”Bean的生命週期,詳細解釋看下面”
autowiring-mode=”這個Bean的properties的自動注入方式,詳細解釋看下面”
lazy-init=”是否為懶載入,詳細解釋看下面“
init-method=”容器初始化該Bean後的回撥方法,詳細解釋看下面”
destroy-method = “容器在銷燬該Bean後的回撥方法,詳細解釋看下面“
abstract=”是否為抽象Bean,主要用來統一XML配置文件裡面的很多Bean的屬性配置,與Java的Abstract Class無任何關係”
parent=”父Bean的名稱,會繼承父Bean的屬性,也是隻在配置文件中有效,與Java的Class無任何關係”
factory-method=”工廠方法的名字”
factory-bean=”工廠Bean的名字”
depends-on =”依賴Bean的名字,Spring保證會在初始化這個Bean前先初始化被依賴的Beans,這個屬性不會被子Bean繼承,子Bean要重新寫自己的depends-on”
autowire-candidate = “是否為自動注入的候選,一般當其他Bean設定autowiring-mode屬性為自動搜尋時可以避免或允許該Bean被列入匹配列表”
primary = “是否將該Bean在其他Bean的自動注入候選人中設為首選” >
// Constructor-arg方式給屬性賦值寫法一
<constructor-arg type=”int” value=”7500000″/>// Constructor-arg方式給屬性賦值寫法二
<constructor-arg name=”years” value=”7500000″/>// Constructor-arg方式給屬性賦值寫法三
<constructor-arg index=”0″ value=”7500000″/>// Properties方式給屬性賦值寫法一
<property name=”beanOne”>
<ref bean=”另外一個Bean的名字”/>
</property>// Properties方式給屬性賦值寫法二
<property name=”beanOne” ref=”另外一個Bean的名字“/>// Properties方式給屬性賦值寫法三
<property name=”integerProperty” value=”1″/>
</bean>
專案整合了struts2和spring4.0.6的jar包。
jar包下載:http://download.csdn.net/download/xmt1139057136/7649389 點選下載
如有疑問,請加qq群:135430763 共同學習!
相關文章
- 深度學習(一)深度學習學習資料深度學習
- 簡單學習jsJS
- Git簡單學習Git
- gin簡單學習
- kitten 學習教程(一) 學習筆記筆記
- 整合學習(一):簡述整合學習
- 簡單演算法――Cisco某個學習資料演算法
- springmvc簡單學習(一)-----入門SpringMVC
- JErasure庫簡單學習
- OSSEC 學習教程一
- Spring4.0MVC學習資料,ApplicationContext中的方法詳解(三)SpringMVCAPPContext
- Go學習【二】學習資料Go
- 資料結構學習筆記-簡單選擇排序資料結構筆記排序
- 從最簡單的入手學習 Docker (一)Docker
- 元學習簡單介紹
- AIX系統簡單學習AI
- LVM的簡單學習LVM
- SLAM(一)----學習資料整理SLAM
- 學Python需要學資料庫嗎?Python學習教程!Python資料庫
- 學習資料
- 大資料學習之路(跟著大神學習一波)大資料
- CSS 學習一(簡介)CSS
- Spring4.0MVC學習資料,Controller中的方法詳解和使用(四)SpringMVCController
- 學習WebSocket(一):Spring WebSocket的簡單使用WebSpring
- 學習一個簡單的儲存過程儲存過程
- 大資料教程分享Actor學習筆記大資料筆記
- Python學習教程:基本資料型別Python資料型別
- Struts2入門教程(學習教程資料).pdf
- 簡單的SQL語句學習SQL
- Git 簡單使用學習筆記Git筆記
- sql注入學習簡單記錄SQL
- 如何學習javascript簡單介紹JavaScript
- jni安全利用的簡單學習
- TypeScript學習(一)—— 資料型別TypeScript資料型別
- 一個“線上學習-練習“的簡單設計和應用
- Redis 學習-資料結構基本簡介Redis資料結構
- 小白學習Vue(一)Vue教程Vue
- [.NET學習]EFCore學習之旅 -2 簡單的增刪改查