亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用@Autowired注解引入server服務層方法時報錯的解決方法

發布時間:2021-11-05 13:35:29 來源:億速云 閱讀:352 作者:柒染 欄目:開發技術

這篇文章給大家介紹使用@Autowired注解引入server服務層方法時報錯的解決方法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

@Autowired注解引入server服務層方法時報錯

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

網上搜的方法:還行

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

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

JavaBean是特殊的Java類、使用Java語言書寫,并且遵守JavaBean API規范。JavaBean與其他Java類相比而言獨一無二的特征是:

1、提供一個默認的無參構造函數。

2、需要序列化并且實現了Serializable接口,

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

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

JavaBean屬性

一個JavaBean對象的屬性應該是可訪問的,這個屬性可以是任意合法的Java數據類型,包括自定義Java類。

一個JavaBean對象的屬性可以是可讀寫,或只讀,或只寫。JavaBean對象的屬性通過JavaBean實現類中提供的兩個方法來訪問

方法

  • getPropertyName():舉例來說,如果屬性的名稱為myName,那么這個方法的名字就要寫成getMyName()來讀取這個屬性。這個方法也被稱為訪問器。

  • setPropertyName():舉例來說,如果屬性的名稱為myName,那么這個方法的名字就要寫成setMyName()來寫入這個屬性。這個方法也被稱為寫入器。

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

@Autowried的作用是什么?

@Autowried是一個注釋,它可以對類成員變量、方法及構造函數進行標注、讓spring完成bean自動裝配的工作。

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

錯誤真正原因是在serveImpl中并未導入

使用@Autowired注解引入server服務層方法時報錯的解決方法

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

使用@Autowired注解引入server服務層方法時報錯的解決方法

只是導讀

<?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文件,如果此時的 <bean id=" " class=" "></bean>就相當于注釋的 @Component而 @Service是@Component衍生,而autowire在xml是bean的屬性,所以只有@Component存在@Autowire才有效

<!-- byName會自動再容器上下文中查找,何自己對象set方法后面的值是對立的beanid -->
    <!-- byType必須保證類型全局唯一會自動再容器上下文中查找,和自己對象set方法后面的值是對立的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>

關于@Autowired 注解時發生的錯誤

1. Field injetion is not recommended

2. spring boot自動注入出現Consider defining a bean of type ‘xxx' in your configuration問題

1.解決

原來代碼

	@Autowired
	private final AccountDao accountDao;

報錯:Field injetion is not recommended

改為

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

錯誤消失

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

2.解決

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

報錯:Consider defining a bean of type ‘xxx' in your configuration

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

如下圖所示

使用@Autowired注解引入server服務層方法時報錯的解決方法

重新啟動,錯誤消失~

關于使用@Autowired注解引入server服務層方法時報錯的解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝兴县| 连云港市| 双峰县| 丰县| 开化县| 太原市| 大厂| 彭山县| 图们市| 鄄城县| 沐川县| 疏附县| 如东县| 锦屏县| 海兴县| 绥江县| 锡林浩特市| 昌黎县| 峡江县| 九龙坡区| 秦安县| 三门县| 苏尼特右旗| 韩城市| 榕江县| 麻江县| 高碑店市| 武强县| 左云县| 华阴市| 邵阳县| 农安县| 新晃| 肃宁县| 石河子市| 湘阴县| 田东县| 新乐市| 措美县| 罗源县| 威宁|