1. 程式人生 > >spring基本配置詳解

spring基本配置詳解

Spring註解:

1.準備工作:

1):匯入common-annotation.jar包

2):匯入schema檔案

3):配置web.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"  
        xsi:schemaLocation="http://www.springframework.org/schema/beans  
            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
            http://www.springframework.org/schema/context  
            http://www.springframework.org/schema/context/spring-context-2.5.xsd"  
 default-default-lazy-init="true">  
 <!--將針對註解的處理器配置好  -->     
 <context:annotation-config />     
 <!-- 使用annotation定義事務-->  
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>  
 <!--使用annotation 自動註冊bean,並檢查@Required,@Autowired的屬性已被注入base-package為需要掃描的包(含所有子包)-->  
<context:component-scan base-package="com" />  
 .....     
 <beans> 

注1:<context:component-scan base-package="*.*"/>

該配置隱式註冊了多個對註解進行解析的處理器:

AutowiredAnnotationBeanPostProcessor

CommonAnnotationBeanPostProcessor

PersistenceAnnotationBeanPostProcessor  

RequiredAnnotationBeanPostProcessor

其實,註解本身除了和xml一樣起到配置作用外,並不做任何事情;主要在於背後強大的處理器,其中就包括了<context:annotation-config/>配置項裡的註解所使用的處理器

所以配置了<context:component-scan base-package="*.*"/>就無需再配置<context:annotation-config/>;

注2:在Java中通常使用@Resource和@Autowired進行裝配;

它們的區別是:1):@Resource預設按名稱裝配,找不到是再按型別裝配;@Autowired只是按型別裝配

2):@Autowired一般裝配在set方法上;當Spring上下文不存在或者不止一個所要裝配的型別的時候使用@Autowired都會報錯,這是可以採用如下對應方法:

  • 當Spring上下文可能不存在時,使用@Autowiredwired(required = false),此時即使找不到也不會報錯:
    @Autowired(required = false)     
    public void setUserDao(UserDao userDao) {     
        this.userDao = userDao;     
    }   
  • 當Spring上下文不止一個所要裝配的型別時,可以結合@Qualifier使用來指定需要注入Bean的名稱:
    @Autowired    
    public void setUserDao(@Qualifier("userDao") UserDao userDao) {     
       this.userDao = userDao;     
    }  
    此時只會注入ID=“userDao”的Bean;同時@Qualifier還可以用在成員變數和構造引數上
    public class Boss {   
        @Autowired  
        private Car car;   
        @Autowired  
        @Qualifier("office")   
        private Office office;   
        @Autowired  
        public Boss(Car car , @Qualifier("office")Office office){   
            this.car = car;   
            this.office = office ;   
         }   
    }   
      

最後:

@Resource裝配順序

1 如果同時指定了nametype,則從Spring上下文中找到唯一匹配的bean進行裝配,找不到則丟擲異常

2 如果指定了name,則從上下文中查詢名稱(id)匹配的bean進行裝配,找不到則丟擲異常

3 如果指定了type,則從上下文中找到型別匹配的唯一bean進行裝配,找不到或者找到多個,都會丟擲異常

4 如果既沒有指定name,又沒有指定type,則自動按照byName方式進行裝配;如果沒有匹配,則回退為一個原始型別(UserDao

進行匹配,如果匹配則自動裝配;

相關推薦

Java程式設計師從笨鳥到菜鳥之(七十二)細談Spring(四)利用註解實現spring基本配置

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

spring基本配置

Spring註解: 1.準備工作: 1):匯入common-annotation.jar包 2):匯入schema檔案 3):配置web.xml檔案 <?xml version="1.0" encoding="UTF-8"?> <beans xmln

Spring自動注入,利用註解實現spring基本配置Spring註解快速入門

Spring註解 1.準備工作 (1)匯入common-annotations.jar (2)匯入schema檔案 檔名為spring-context-3.0.3.RELEASE.jar (3)在xml的beans節點中配置 2.xml配置工作 <?xml

Spring 基礎教程之四:JavaBean基本配置

一:xml 裝配JavaBean屬性含義: 1.id:指定該Bean 的唯一標識。 2.class:指定該Bean 的全限定名。 3.name:為該Bean 指定一到多個別名。多個別名可以用“,”和“;”分割。

Spring基本功能

tex factor oid out 負責 sch bsp 初始化 pub 一、SpringIOC   Spring的控制反轉:把對象的創建,初始化,銷毀的過程交給SpringIOC容器來做,由Spring容器控制對象的生命周期。   1.1 啟動Spring容器的方式:

spring mvc 配置

app stl set方法 參數類型 utf-8 admin pathvaria 方案 -m 現在主流的Web MVC框架除了Struts這個主力 外,其次就是Spring MVC了,因此這也是作為一名程序員需要掌握的主流框架,框架選擇多了,應對多變的需求和業務時,可實行的

SpringBoot進擊 | 二淺出:Spring Boot配置

1.前言 上一節:SpringBoot進擊 | 一淺出:Spring Boot簡單快速上手書 上一篇介紹了 Spring Boot 的入門,在一般情況下,我們不需要做太多的配置就能夠讓 Spring Boot 正常執行。因為其使用“習慣優於配置”(專案中存在大量的配置,此外還內建了一

Spring AOP配置

<aop:aspectj-autoproxy />的作用 通過配置織入@Aspectj切面 雖然可以通過程式設計的方式織入切面,但是一般情況下,我們還是使用spring的配置自動完成建立代理織入切面的工作。 通過aop名稱空間的<aop:aspectj-autoprox

Spring MVC配置

來源:https://www.cnblogs.com/superjt/p/3309255.html 現在主流的Web MVC框架除了Struts這個主力 外,其次就是Spring MVC了,因此這也是作為一名程式設計師需要掌握的主流框架,框架選擇多了,應對多變的需求

SpringBoot之(一)Spring Boot配置

  一、@Value賦值 當我們建立一個springboot專案的時候,系統預設會為我們在src/main/java/resources目錄下建立一個application.properties。個人習慣,我會將application.properties改為application

Nginx基本配置

Nginx在專案使用中,使用最多的三個核心功能是反向代理、負載均衡和靜態伺服器。 1、nginx支援的負載均衡排程演算法方式:     1)weight輪詢(預設):接收到的請求按照順序逐一分配到不同的後端伺服器,即使在使用過程中,某一臺後端伺服器宕       

MAVEN常用命令+基本配置

mvn  -v  類似於 javac -version  或者 git --version 在linux上使用maven也需要像使用java一樣設定環境變數 這是 export M2_HOME     = /? export PATH = $PATH:$M2_HOME/b

boa.conf基本配置

Port 80 User root Group root ErrorLog /dev/console AccessLog /dev/null ServerName friendly-arm DocumentRoot /pqm/www/test/ Director

Spring配置

bean src 分享 詳解 nbsp .com info 構造 實例 Bean元素 Spring創建對象的方式 (1)空參構造方式 (2)靜態工廠(了解) (3)實例工廠方式 Spring 的配置詳解

SpringBoot基本配置

SpringBoot專案有一些基本的配置,比如啟動圖案(banner),比如預設配置檔案application.properties,以及相關的預設配置項。 示例專案程式碼在:https://github.com/laolunsi/spring-boot-examples 一、啟動圖案banner 編寫ba

Java程式設計師從笨鳥到菜鳥之(七十四)細談Spring(六)spring之AOP基本概念和配置

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                       首先我們來看一下官方文件所給我們的關於AOP的一些概念性詞語的解釋:切面(Aspect):一個關注點的模組化,這個關注點可能會橫切多個物件。事務管

SpringSpring MVC原理及配置

進行 return sub sca scrip uil 線程安全 松耦合 必須 1.Spring MVC概述: Spring MVC是Spring提供的一個強大而靈活的web框架。借助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡

筆記:Spring Cloud Ribbon 客戶端配置

核心內容 framework 統計信息 結構 ble ogr 清單 接口實現 進行 自動化配置 由於 Ribbon 中定義的每一個接口都有多種不同的策略實現,同時這些接口之間又有一定的依賴關系,Spring Cloud Ribbon 中的自動化配置能夠很方便的自動化構

Spring MVC原理及配置

對象 classpath oca entity attribute nco conf nal spring Spring MVC原理及配置 1.Spring MVC概述: Spring MVC是Spring提供的一個強大而靈活的web框架。借助於註解,Spring MVC提

spring boot application properties配置

ini let encoding odi gap pool nodes gui erp # =================================================================== # COMMON SPRING BOOT