日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

spring 入门 1

發(fā)布時間:2023/12/31 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring 入门 1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Spring介紹

Spring一站式框架

  • 正是因?yàn)閟pring框架性質(zhì)是屬于容器性質(zhì)的.
  • 容器中裝什么對象就有什么功能.所以可以一站式.
  • 不僅不排斥其他框架,還能幫其他框架管理對象.
  • aop支持
  • ioc思想
  • spring jdbc
  • aop 事務(wù)
  • junit 測試支持
  • Spring搭建

    1.導(dǎo)包

    2.創(chuàng)建一個對象

    package cn.zhli13.bean;public class User {private String name;private String add; public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAdd() {return add;}public void setAdd(String add) {this.add = add;} }

    3.書寫配置注冊對象到容器
    位置任意(建議放到src下)
    配置文件名任意(建議applicationContext.xml)
    導(dǎo)入schema約束


    注冊對象到容器(applicationContext.xml配置文件)

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "><bean name="user" class="cn.zhli13.bean.User"></bean> </beans>

    4、編寫測試類

    @Test public void name() {ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");User bean = ac.getBean(User.class);System.out.println(bean); }

    Spring 概念

    1.思想
    IOC Inverse of Control 控制反轉(zhuǎn)

    將我們創(chuàng)建對象的方式反轉(zhuǎn)了 以前對象的創(chuàng)建時由我們開發(fā)人員自己維護(hù),包括依賴關(guān)系也是自己注入 使用了spring之后,對象的創(chuàng)建以及依賴關(guān)系可以由spring完成創(chuàng)建以及注入。 控制反轉(zhuǎn)就是反轉(zhuǎn)了對象的創(chuàng)建方式,從我們自己創(chuàng)建反轉(zhuǎn)給了程序(spring)。

    DI Dependency Injection 依賴注入

    實(shí)現(xiàn)IOC思想需要DI支持 注入方式:set方法注入構(gòu)造方法注入字段注入 注入類型:值類型注入 8大基本數(shù)據(jù)類型引用類型注入 將依賴帶下注入

    2.applicationContext&BeanFactory

    BeanFactory接口(在資源匱乏的環(huán)境可以使用BeanFactory,基本用不到) spring原始接口.針對原始接口的實(shí)現(xiàn)類功能較為單一 BeanFactory接口實(shí)現(xiàn)類的容器.特點(diǎn)是每次在獲得對象時才會創(chuàng)建對象 ApplicationContext 每次容器啟動時就會創(chuàng)建容器中配置的所有對象.并提供更多功能 叢類路徑下加載配置文件:ClassPathXmlApplicationContext(常用) 從硬盤絕對路徑下加載配置件:FileSystemXmlApplicationContext("d:/xxx/yyy/xxx")

    spring配置詳解

    1.Bean元素

    <!-- Bean元素:使用該元素描述需要spring容器管理的對象class屬性:被管理對象的完整類名.name屬性:給被管理的對象起個名字.獲得對象時根據(jù)該名稱獲得對象. 可以重復(fù).可以使用特殊字符.id屬性: 與name屬性一模一樣. 名稱不可重復(fù).不能使用特殊字符.結(jié)論: 盡量使用name屬性.scope屬性:singleton(默認(rèn)值):單例對象.被標(biāo)識為單例的對象在spring容器中只會存在一個實(shí)例prototype:多例原型.被標(biāo)識為多例的對象,每次再獲得才會創(chuàng)建.每次創(chuàng)建都是新的對象.整合struts2時,ActionBean必須配置為多例的.request:web環(huán)境下.對象與request生命周期一致.session:web環(huán)境下,對象與session生命周期一致.生命周期屬性:init-method:配置一個方法作為生命周期初始化方法.spring會在對象創(chuàng)建之后立即調(diào)用.destroy-method:配置一個方法作為生命周期的銷毀方法.spring容器在關(guān)閉并銷毀所有容器中的對象之前調(diào)用.--> <bean name="user"class="cn.zhli13.bean.User"scope="prototype"init-method="init"destroy-method="beforeDestory"></bean>

    spring創(chuàng)建對象的方式

    1.空參構(gòu)造方式

    <bean name="user" class="cn.zhli13.bean.User"></bean>

    2.靜態(tài)工廠(了解)

    public class UserFactory{public static User createUser(){return new User();} } <bean name="user2" class="cn.zhli13.bean.UserFactory" factory-method="createUser"></bean>

    3.實(shí)例工廠(了解)

    public User createUser2(){return new User(); } <bean name="user3" factory-bean="userFactory" factory-method="createUser2"></bean> <!--創(chuàng)建工場實(shí)例--> <bean name="userFactory" class="cn.zhli13.bean.UserFactory"></bean>

    4.多模塊配置

    <!--主配置文件導(dǎo)入其他spring配置文件--> <import resource="cn/zhli13/xxxxx/xxx/applicationContext.xml" />

    spring屬性注入

    1.注入方式

    <!-- set方式注入: --> <bean name="user" class="cn.zhli13.bean.User" ><!--值類型注入: 為User對象中名為name的屬性注入tom作為值 --><property name="name" value="tom" ></property><property name="age" value="18" ></property><!-- 引用類型注入: 為car屬性注入下方配置的car對象 --><property name="car" ref="car" ></property> </bean> <!-- 將car對象配置到容器中 --> <bean name="car" class="cn.zhli13.bean.Car" ><property name="name" value="蘭博基尼" ></property><property name="color" value="黃色" ></property> </bean><!-- 構(gòu)造函數(shù)注入 --> <bean name="user2" class="cn.zhli13.bean.User" ><!-- name屬性: 構(gòu)造函數(shù)的參數(shù)名 --><!-- index屬性: 構(gòu)造函數(shù)的參數(shù)索引 --><!-- type屬性: 構(gòu)造函數(shù)的參數(shù)類型--><constructor-arg name="name" index="0" type="java.lang.Integer" value="999" ></constructor-arg><constructor-arg name="car" ref="car" index="1" ></constructor-arg> </bean> <!-- 復(fù)雜類型注入 --> <bean name="cb" class="cn.zhli13.bean.CollectionBean" ><!-- 如果數(shù)組中只準(zhǔn)備注入一個值(對象),直接使用value|ref即可 <property name="arr" value="tom" ></property>--><!-- array注入,多個元素注入 --><property name="arr"><array><value>tom</value><value>jerry</value><ref bean="user4" /></array></property><!-- 如果List中只準(zhǔn)備注入一個值(對象),直接使用value|ref即可 <property name="list" value="jack" ></property>--><property name="list" ><list><value>jack</value><value>rose</value><ref bean="user3" /></list></property><!-- map類型注入 --><property name="map" ><map><entry key="url" value="jdbc:mysql:///crm" ></entry><entry key="user" value-ref="user4" ></entry><entry key-ref="user3" value-ref="user2" ></entry></map> </property><!-- prperties 類型注入 --><property name="prop" ><props><prop key="driverClass">com.jdbc.mysql.Driver</prop><prop key="userName">root</prop><prop key="password">1234</prop></props></property> </bean>

    總結(jié)

    以上是生活随笔為你收集整理的spring 入门 1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。