国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - spring配置掃描多個(gè)包問(wèn)題解析

spring配置掃描多個(gè)包問(wèn)題解析

2021-01-28 11:50微wx笑 Java教程

這篇文章主要介紹了spring配置掃描多個(gè)包問(wèn)題解析,具有一定參考價(jià)值,需要的朋友可以了解下。

spring 配置掃描多個(gè)包,有時(shí)候我們希望不同功能類型的包放在不同的包下,這就需要

?
1
2
3
<!-- 自動(dòng)掃描該包,使 SpringMVC 為包下用了@controller注解的類是控制器 -->
<context:component-scan base-package="com.weixiao.ssmcleardb.controller" />
<context:component-scan base-package="com.weixiao.listener" />

有時(shí)候我們可能遇到奇怪的問(wèn)題,

新建了一個(gè)包,在這個(gè)包下面新建了一個(gè)類,也添加了注解,但啟動(dòng)的時(shí)候就是掃描不到,而其它的類又正常!

這就是你新建的包沒(méi)有配置為自動(dòng)掃描的原因。

比如我在 com.weixiao.listener 包下新建的一個(gè)類:

java" id="highlighter_930693">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.weixiao.listener;
import javax.servlet.ServletContext;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
import org.springframework.web.context.ServletContextAware;
@Component("StartupListener")
public class StartupListener implements ApplicationContextAware, ServletContextAware, InitializingBean,
    ApplicationListener<ContextRefreshedEvent> {
    protected Logger logger = LogManager.getLogger(getClass());
    @Override
      public void setApplicationContext(ApplicationContext ctx) throws BeansException {
        logger.info("\r\n\r\n\r\n\r\n1 => StartupListener.setApplicationContext");
    }
    @Override
      public void setServletContext(ServletContext context) {
        logger.info("\r\n\r\n\r\n\r\n2 => StartupListener.setServletContext");
    }
    @Override
      public void afterPropertiesSet() throws Exception {
        logger.info("\r\n\r\n\r\n\r\n3 => StartupListener.afterPropertiesSet");
    }
    @Override
      public void onApplicationEvent(ContextRefreshedEvent event) {
        logger.info("\r\n\r\n\r\n\r\n4.1 => MyApplicationListener.onApplicationEvent");
        logger.info("\r\n\r\n\r\n\r\n4.1 => " + event.getApplicationContext().getParent());
        logger.info("\r\n\r\n\r\n\r\n4.1 => " + event.getApplicationContext().getDisplayName());
        if (event.getApplicationContext().getParent() == null) {
            logger.info("\r\n\r\n\r\n\r\n4.2 => MyApplicationListener.onApplicationEvent");
        } else{
            logger.info("\r\n\r\n\r\n\r\n4.4 => " + event.getApplicationContext().getParent().getDisplayName());
        }
        if (event.getApplicationContext().getDisplayName().equals("Root WebApplicationContext")){
            logger.info("\r\n\r\n\r\n\r\n4.3 => MyApplicationListener.onApplicationEvent");
        }
    }
}

關(guān)于 component-scan,我們來(lái)看 spring framework 開(kāi)發(fā)手冊(cè)中的一段話:

?
1
Spring 2.5引入了更多典型化注解(stereotype annotations): @Component、@Service和 @Controller。@Component是所有受Spring管理組件的通用形式;而@Repository、@Service和 @Controller則是@Component的細(xì)化,用來(lái)表示更具體的用例(例如,分別對(duì)應(yīng)了持久化層、服務(wù)層和表現(xiàn)層)。也就是說(shuō),你能用@Component來(lái)注解你的組件類,但如果用@Repository、@Service 或@Controller來(lái)注解它們,你的類也許能更好地被工具處理,或與切面進(jìn)行關(guān)聯(lián)。例如,這些典型化注解可以成為理想的切入點(diǎn)目標(biāo)。當(dāng)然,在Spring Framework以后的版本中, @Repository、@Service和 @Controller也許還能攜帶更多語(yǔ)義。如此一來(lái),如果你正在考慮服務(wù)層中是該用@Component還是@Service,那@Service顯然是更好的選擇。同樣的,就像前面說(shuō)的那樣, @Repository已經(jīng)能在持久化層中進(jìn)行異常轉(zhuǎn)換時(shí)被作為標(biāo)記使用了。”

總結(jié)

以上就是本文關(guān)于spring配置掃描多個(gè)包問(wèn)題解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。

原文鏈接:http://blog.csdn.net/testcs_dn/article/details/78115603

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一区二区三区在线视频观看 | 午夜一级片| 亚洲午夜成激人情在线影院 | 免费在线成人网 | 国产裸体永久免费视频网站 | 97在线观看视频 | av在线天堂网 | av大片 | 亚洲福利一区二区 | 亚洲精品乱码久久久久久金桔影视 | 国内免费自拍视频 | 日韩在线精品视频 | 桃色视频在线播放 | 国产精品美女久久久久久久久久久 | 成人久久久 | 黄在线观看 | 久久精品国产99国产精2020新增功能 | ririsao久久精品一区 | 在线国产一区二区 | 国产精品国产三级国产aⅴ原创 | 亚洲精品成a人ⅴ香蕉片 | 欧美综合在线一区 | 午夜精品久久久久久久男人的天堂 | 日韩精品专区 | 国产精品日产欧美久久久久 | 日本免费在线 | 久久精品国产欧美亚洲人人爽 | 欧美1区2区 | 中文字幕三区 | 中文视频在线 | 中文字幕日韩在线 | 久久久久香蕉视频 | 亚洲成人精品在线观看 | 日韩国产 | 成人午夜视频网 | 亚洲男人网 | 欧美在线观看一区二区 | 夜夜爽99久久国产综合精品女不卡 | 久久午夜网站 | 黄视频在线播放 | 欧美日韩中文在线观看 |