日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring 入门 1

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

Spring介紹

Spring一站式框架

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

    1.導包

    2.創建一個對象

    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)
    導入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 控制反轉

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

    DI Dependency Injection 依賴注入

    實現IOC思想需要DI支持 注入方式:set方法注入構造方法注入字段注入 注入類型:值類型注入 8大基本數據類型引用類型注入 將依賴帶下注入

    2.applicationContext&BeanFactory

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

    spring配置詳解

    1.Bean元素

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

    spring創建對象的方式

    1.空參構造方式

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

    2.靜態工廠(了解)

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

    3.實例工廠(了解)

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

    4.多模塊配置

    <!--主配置文件導入其他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><!-- 構造函數注入 --> <bean name="user2" class="cn.zhli13.bean.User" ><!-- name屬性: 構造函數的參數名 --><!-- index屬性: 構造函數的參數索引 --><!-- type屬性: 構造函數的參數類型--><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> <!-- 復雜類型注入 --> <bean name="cb" class="cn.zhli13.bean.CollectionBean" ><!-- 如果數組中只準備注入一個值(對象),直接使用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中只準備注入一個值(對象),直接使用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>

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。