【java开发系列】—— spring简单入门示例
回顧
1?JDK安裝
2?Struts2簡(jiǎn)單入門(mén)示例
前言
作為入門(mén)級(jí)的記錄帖,沒(méi)有過(guò)多的技術(shù)含量,簡(jiǎn)單的搭建配置框架而已。這次講到spring,這個(gè)應(yīng)該是SSH中的重量級(jí)框架,它主要包含兩個(gè)內(nèi)容:控制反轉(zhuǎn)\依賴(lài)注入,和AOP面向切面編程。
1 控制反轉(zhuǎn)IOC\依賴(lài)注入DI,因?yàn)榉g的不同,因此有兩個(gè)名字。
控制反轉(zhuǎn)意思就是說(shuō),當(dāng)我們調(diào)用一個(gè)方法或者類(lèi)時(shí),不再有我們主動(dòng)去創(chuàng)建這個(gè)類(lèi)的對(duì)象,控制權(quán)交給別人(spring)。
依賴(lài)注入意思就是說(shuō),spring主動(dòng)創(chuàng)建被調(diào)用類(lèi)的對(duì)象,然后把這個(gè)對(duì)象注入到我們自己的類(lèi)中,使得我們可以使用它。
舉個(gè)簡(jiǎn)單的例子,程序猿加班了一個(gè)月,很累,想要放松下,于是去找人吃“麻辣燙”。
不使用spring的傳統(tǒng)做法是,我們自己通過(guò)陌陌微信等神器,主動(dòng)尋找目標(biāo),花費(fèi)大量人力物力,達(dá)成協(xié)議后,申請(qǐng)“場(chǎng)所”辦正事。
而使用spring的做法就很方便了,我們直接去某個(gè)場(chǎng)所,那個(gè)地方直接就有目標(biāo)候著!
這是多么神奇的功能啊!
?
(此圖涉及暴力,18歲以下自行負(fù)責(zé))
2 AOP面向切面編程
我們把一個(gè)方法看做是一個(gè)切面,在這個(gè)切面的前后或者周?chē)?#xff0c;都可以設(shè)置其他的處理方法,進(jìn)行一些特殊的處理。
比如一個(gè)“吃蛋糕”的方法,在這個(gè)方法前需要“拆包裝”,方法后需要“打掃衛(wèi)生”,都可以通過(guò)這種編程方式來(lái)實(shí)現(xiàn)。
?
那么下面看下它的編碼過(guò)程!
1 首先我們需要一個(gè)bean,用某種方法(設(shè)置注入需要有setter函數(shù),構(gòu)造注入需要有構(gòu)造函數(shù),相應(yīng)的bean.xml配置文件也會(huì)不同)設(shè)定注入方式。
2 bean.xml,設(shè)置bean與類(lèi)的關(guān)系,并關(guān)聯(lián)默認(rèn)的注入值。
3 獲取bean.xml文件,創(chuàng)建實(shí)例對(duì)象,直接調(diào)用方法。
可以看到,我們開(kāi)發(fā)的程序只有第三步的“創(chuàng)建實(shí)例對(duì)象,直接調(diào)用方法”,并沒(méi)有為他進(jìn)行初始化等工作,就可以直接調(diào)用它的方法,獲取它的值。其實(shí)spring在程序初始化的時(shí)候,就會(huì)為我們把bean對(duì)應(yīng)的對(duì)象注入進(jìn)來(lái),幫助我們完成初始化,因此我們只要通過(guò)一個(gè)引用對(duì)象,就可以直接調(diào)用了。
?
最后我們寫(xiě)一個(gè)簡(jiǎn)單的依賴(lài)注入的小樣例!
1 需要的jar包和文件結(jié)構(gòu)
jar包下載地址:http://pan.baidu.com/s/1sjDbzrR
2 bean.xml配置文件,放在src目錄下
?
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://www.springframework.org/schema/beans" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 6 <bean id="person" class="com.test.bean.Person"> 7 <property name="name" value="xingoo"/> 8 <property name="age" value="12"/> 9 </bean> 10 </beans>?
3 Person類(lèi),這里使用的是set設(shè)置注入方式
package com.test.bean;public class Person {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;}public void info(){System.out.println("一起來(lái)吃麻辣燙!");System.out.println("name:"+getName()+" age:"+getAge());} }4 test類(lèi)
package testSpring;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;import com.test.bean.Person;public class test {public static void main(String[] args){ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//讀取bean.xml中的內(nèi)容Person p = ctx.getBean("person",Person.class);//創(chuàng)建bean的引用對(duì)象p.info();} }5 執(zhí)行結(jié)果
from:?http://www.cnblogs.com/xing901022/p/3963962.html
總結(jié)
以上是生活随笔為你收集整理的【java开发系列】—— spring简单入门示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: windows安装TortoiseGit
- 下一篇: 【java开发系列】—— 集合使用方法