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

使用@Autowired注解引入server服務(wù)層方法時(shí)報(bào)錯(cuò)的解決

 更新時(shí)間:2021年11月05日 11:41:04   作者:星辰志  
這篇文章主要介紹了使用@Autowired注解引入server服務(wù)層方法時(shí)報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Autowired注解引入server服務(wù)層方法時(shí)報(bào)錯(cuò)

contentTypeService in com.example.demo001.controller.ContentTypeController required a bean of type 'com.example.demo001.service.ContentTypeService' that could not be found

網(wǎng)上搜的方法:還行

方式一:@Autowried(required = false)設(shè)置required屬性值為false,錯(cuò)誤消失

方式二:用@Resource注解替換@Autowried注解,錯(cuò)誤消失

JavaBean是特殊的Java類、使用Java語(yǔ)言書(shū)寫(xiě),并且遵守JavaBean API規(guī)范。JavaBean與其他Java類相比而言獨(dú)一無(wú)二的特征是:

1、提供一個(gè)默認(rèn)的無(wú)參構(gòu)造函數(shù)。

2、需要序列化并且實(shí)現(xiàn)了Serializable接口,

3、可能有一系列可讀性屬性,

4、可能有一系列的getter或setter方法。

JavaBean屬性

一個(gè)JavaBean對(duì)象的屬性應(yīng)該是可訪問(wèn)的,這個(gè)屬性可以是任意合法的Java數(shù)據(jù)類型,包括自定義Java類。

一個(gè)JavaBean對(duì)象的屬性可以是可讀寫(xiě),或只讀,或只寫(xiě)。JavaBean對(duì)象的屬性通過(guò)JavaBean實(shí)現(xiàn)類中提供的兩個(gè)方法來(lái)訪問(wèn)

方法

  • getPropertyName():舉例來(lái)說(shuō),如果屬性的名稱為myName,那么這個(gè)方法的名字就要寫(xiě)成getMyName()來(lái)讀取這個(gè)屬性。這個(gè)方法也被稱為訪問(wèn)器。
  • setPropertyName():舉例來(lái)說(shuō),如果屬性的名稱為myName,那么這個(gè)方法的名字就要寫(xiě)成setMyName()來(lái)寫(xiě)入這個(gè)屬性。這個(gè)方法也被稱為寫(xiě)入器。

一個(gè)只讀的屬性只提供getPropertyName()方法,一個(gè)只寫(xiě)的屬性只提供setPropertyName()方法。

@Autowried的作用是什么?

@Autowried是一個(gè)注釋,它可以對(duì)類成員變量、方法及構(gòu)造函數(shù)進(jìn)行標(biāo)注、讓spring完成bean自動(dòng)裝配的工作。

@Autowried默認(rèn)是按照類去匹配,配合@Qualifier指定按照名稱去裝配bean

錯(cuò)誤真正原因是在serveImpl中并未導(dǎo)入

問(wèn)題得到解決,附上網(wǎng)上解決問(wèn)題的網(wǎng)址,以上哪兩種方法也能用暫不清楚是怎么回事

只是導(dǎo)讀

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">
 
    <bean id="..." class="...">  
        <!-- collaborators and configuration for this bean go here -->
    </bean>
 
    <bean id="..." class="...">
        <!-- collaborators and configuration for this bean go here -->
    </bean>
 
    <!-- more bean definitions go here -->
 
</beans>

上述是原始的xml文件,如果此時(shí)的 <bean id=" " class=" "></bean>就相當(dāng)于注釋的 @Component而 @Service是@Component衍生,而autowire在xml是bean的屬性,所以只有@Component存在@Autowire才有效

    <!-- byName會(huì)自動(dòng)再容器上下文中查找,何自己對(duì)象set方法后面的值是對(duì)立的beanid -->
    <!-- byType必須保證類型全局唯一會(huì)自動(dòng)再容器上下文中查找,和自己對(duì)象set方法后面的值是對(duì)立的bean -->
       <bean id="people" class="com.chen.pojo.People" autowire="byType">
           <property name="name" value="天明"></property>
            <property name="dog" ref="dog"></property>
          <property name="cat" ref="cat"></property>
       </bean>

關(guān)于@Autowired 注解時(shí)發(fā)生的錯(cuò)誤

1. Field injetion is not recommended

2. spring boot自動(dòng)注入出現(xiàn)Consider defining a bean of type ‘xxx' in your configuration問(wèn)題

1.解決

原來(lái)代碼

	@Autowired
	private final AccountDao accountDao;

報(bào)錯(cuò):Field injetion is not recommended

改為

    //final 非必要
	private final AccountDao accountDao;
    @Autowired
    public AccountController(AccountDao accountDao) {
        this.accountDao = accountDao;
    }

錯(cuò)誤消失

注:還是警告的話,直接將@Autowired注解改為@Resource注解可以消除警告(不影響注入)

2.解決

原來(lái)將account 也就是entity 和dao 放在了controller的上層目錄里

報(bào)錯(cuò):Consider defining a bean of type ‘xxx' in your configuration

把entity和dao放在controler同級(jí)目錄或者我放在了同級(jí)目錄所在account包

如下圖所示

在這里插入圖片描述

重新啟動(dòng),錯(cuò)誤消失~

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家.

相關(guān)文章

最新評(píng)論

建始县| 聊城市| 武宣县| 惠东县| 岚皋县| 都兰县| 尼玛县| 密云县| 怀安县| 赤城县| 隆德县| 平山县| 扶余县| 昭苏县| 德格县| 和平县| 砀山县| 彰化市| 武功县| 峨眉山市| 海淀区| 开阳县| 合肥市| 临潭县| 遵义县| 呼玛县| 万全县| 焦作市| 岳普湖县| 博客| 公安县| 灌云县| 攀枝花市| 五大连池市| 西峡县| 西和县| 甘南县| 肇庆市| 八宿县| 宁蒗| 永春县|