在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 通過注解獲取的bean為null

通過注解獲取的bean為null

問題描述

在applicationContext.xml中定義的一個(gè)bean,通過@Autowired注解獲取時(shí)為null,而通過ApplicationContext ctx = new ClassPathXmlApplicationContext("conf/spring/applicationContext.xml");ctx.getBean()這種方式卻可以獲取對(duì)象

相關(guān)代碼

<bean id="dalClient" class="com.zhl.framework.dal.client.support.DefaultDalClient">
    <property name="resources" value="classpath:sqlmapper/sqlMap_*.xml" />
    <property name="defaultDataSource" ref="dataSource" />
</bean>

這是一個(gè)封裝的訪問sql文件的方法

<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:conf/spring/spring-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

這是web配置

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

回答
編輯回答
北城荒

1、是否配置的掃描,spring的注入機(jī)制可以去看看
2、是否被spring托管,是new出來的還是可以注入的,
我以前寫過一個(gè)線程業(yè)務(wù)類,是不能向里面注入bean的,需要new出來
線程中要這樣獲取bean

ApplicationContext ac = new FileSystemXmlApplicationContext("classpath:spring.xml");  
ac.getBean("companyService"); 
2017年8月19日 21:35