最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring快速入門實例教程

 更新時間:2014年12月18日 09:28:09   投稿:shichen2014  
這篇文章主要介紹了spring快速入門實例,主要分析了spring的基本配置與控制反轉(zhuǎn),對于spring的學(xué)習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下

本文實例講述了spring的基本配置與控制反轉(zhuǎn)。分享給大家供大家參考。具體如下:

這里我們采用了maven構(gòu)建java項目,沒有采用maven的同樣適用。

1. 創(chuàng)建maven項目,我創(chuàng)建的項目名稱為springdemo。

2. 添加依賴包,我是通過maven添加的包,maven相關(guān)配置如下:

復(fù)制代碼 代碼如下:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.0.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.0.1.RELEASE</version>
</dependency>

當(dāng)然,也可以直接添加jar文件。

3. 創(chuàng)建簡單包結(jié)構(gòu)

我創(chuàng)建了entity 、dao、business等包結(jié)構(gòu)。

4. 編寫簡單代碼

user,空代碼,如下:

復(fù)制代碼 代碼如下:
package com.chzhao.model;
public class User {
}

接口 IUserDao
復(fù)制代碼 代碼如下:
package com.chzhao.dao;
import com.chzhao.model.User;
public interface IUserDao {
     public User findUserById();
}

接口實現(xiàn)

復(fù)制代碼 代碼如下:
package com.chzhao.dao;
import com.chzhao.model.User;
public class UserDaoImpl implements IUserDao {
    public User findUserById() {
        System.out.println("dao");
        return null;
    }
}

調(diào)用

復(fù)制代碼 代碼如下:
package com.chzhao.springdemo;
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {
    public IUserDao getDao() {
        return dao;
    }
    public void setDao(IUserDao dao) {
        this.dao = dao;
    }
    private IUserDao dao; 
    public User findUser() { 
        return dao.findUserById(); 
    } 
}

main初始化

復(fù)制代碼 代碼如下:
package com.chzhao.springdemo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
    public static void main(String[] args) {

        ApplicationContext act = new ClassPathXmlApplicationContext(
                "applicationContext.xml");
        UserManager um = (UserManager) act.getBean("userManager");
        um.findUser();
    }
}

相應(yīng)的配置文件

復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="UserDaoImpl"  class="com.chzhao.dao.UserDaoImpl"/> 
    <bean  name="userManager" class="com.chzhao.springdemo.UserManager"> 
        <property name="dao" > 
            <ref bean="UserDaoImpl"/> 
        </property> 
    </bean> 
</beans>

以上是正常的方式。

下面是注解的方式。

首先配置文件要改,如下

復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> 
    <bean id="UserDaoImpl"  class="com.chzhao.dao.UserDaoImpl"/> 
    <bean  name="userManager" class="com.chzhao.springdemo.UserManager"> </bean> 
</beans>

接口實現(xiàn)

復(fù)制代碼 代碼如下:
package com.chzhao.dao;
import org.springframework.stereotype.Repository;
import com.chzhao.model.User;
@Repository
public class UserDaoImpl implements IUserDao {
    public User findUserById() {
        System.out.println("dao");
        return null;
    }
}

調(diào)用

復(fù)制代碼 代碼如下:
package com.chzhao.springdemo;
import org.springframework.beans.factory.annotation.Autowired;
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {

    @Autowired
    private IUserDao dao; 
    public User findUser() { 
        return dao.findUserById(); 
    } 
}

兩種方法實現(xiàn)的是一樣的。

希望本文所述對大家的Java程序設(shè)計有所幫助。

相關(guān)文章

  • 淺談vue中子組件傳值的默認(rèn)值情況

    淺談vue中子組件傳值的默認(rèn)值情況

    這篇文章主要介紹了淺談vue中子組件傳值的默認(rèn)值情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java中throw和throws異常處理完整例子說明

    Java中throw和throws異常處理完整例子說明

    這篇文章主要給大家介紹了關(guān)于Java中throw和throws異常處理的相關(guān)資料, throw關(guān)鍵字是用于在方法內(nèi)拋出異常,而throws關(guān)鍵字是在方法聲明中指定可能拋出的異常,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 不同Java泛型構(gòu)造函數(shù)的詳解

    不同Java泛型構(gòu)造函數(shù)的詳解

    這篇文章主要介紹了不同Java泛型構(gòu)造函數(shù)的詳解,因為對象是應(yīng)用類型,對象賦值是指向同一個對象,所以如果需要保存對象某個時刻的狀態(tài),就需要構(gòu)造函數(shù)來new一個新的對象。下面我們來詳細(xì)了解一下吧
    2019-06-06
  • Lock、Condition實現(xiàn)簡單的生產(chǎn)者消費(fèi)者模式示例

    Lock、Condition實現(xiàn)簡單的生產(chǎn)者消費(fèi)者模式示例

    這篇文章主要介紹了Lock、Condition實現(xiàn)簡單的生產(chǎn)者消費(fèi)者模式示例,需要的朋友可以參考下
    2014-04-04
  • 記一次springboot服務(wù)凌晨無故宕機(jī)問題的解決

    記一次springboot服務(wù)凌晨無故宕機(jī)問題的解決

    這篇文章主要介紹了記一次springboot服務(wù)凌晨無故宕機(jī)問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java正則表達(dá)式解析html示例分享

    java正則表達(dá)式解析html示例分享

    這篇文章主要介紹了java正則表達(dá)式解析html示例,用到獲取url的正則表達(dá)式,獲取圖片的正則表達(dá)式,需要的朋友可以參考下
    2014-02-02
  • Java實現(xiàn)簡單的掃雷小程序

    Java實現(xiàn)簡單的掃雷小程序

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)簡單的掃雷小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • java打包解包操作小結(jié)

    java打包解包操作小結(jié)

    使用別人的jar包程序,需要修改其中的相關(guān)參數(shù)然后重新打包,在此記錄一下打包和解包過程,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Java多線程之volatile關(guān)鍵字及內(nèi)存屏障實例解析

    Java多線程之volatile關(guān)鍵字及內(nèi)存屏障實例解析

    volatile是JVM提供的一種最輕量級的同步機(jī)制,因為Java內(nèi)存模型為volatile定義特殊的訪問規(guī)則,使其可以實現(xiàn)Java內(nèi)存模型中的兩大特性:可見性和有序性。這篇文章主要介紹了Java多線程之volatile關(guān)鍵字及內(nèi)存屏障,需要的朋友可以參考下
    2019-05-05
  • Java常見踩坑記錄之異常處理

    Java常見踩坑記錄之異常處理

    程序運(yùn)行時發(fā)生的不被期望的事件,它阻止了程序按照程序員的預(yù)期正常執(zhí)行,這就是異常,下面這篇文章主要給大家介紹了關(guān)于Java常見踩坑記錄之異常處理的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評論

通化县| 宣城市| 平乐县| 原阳县| 鄂托克旗| 浦东新区| 永年县| 汕头市| 乐至县| 留坝县| 清涧县| 阿瓦提县| 平和县| 吴旗县| 吉木萨尔县| 九龙县| 吴忠市| 鄂托克旗| 焦作市| 东宁县| 民乐县| 高尔夫| 潞西市| 郑州市| 专栏| 临湘市| 胶州市| 临颍县| 灵武市| 阳城县| 常德市| 闽侯县| 秦安县| 秭归县| 武清区| 当涂县| 襄樊市| 丹江口市| 怀来县| 德保县| 民勤县|