溫馨提示×

溫馨提示×

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

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

Spring中@Autowire注解如何使用

發(fā)布時(shí)間:2021-06-23 15:26:13 來源:億速云 閱讀:192 作者:Leah 欄目:編程語言

Spring中@Autowire注解如何使用,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

一 配置

<?xml version="1.0" encoding="GBK"?><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-4.0.xsd   http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context-4.0.xsd">   <context:component-scan      base-package="org.crazyit.app.service,org.crazyit.app.dao"/>   </beans>

二 dao接口

BaseDao
package org.crazyit.app.dao;public interface BaseDao<T>{   void save(T e);}
ItemDao
package org.crazyit.app.dao;import org.crazyit.app.domain.*;public interface ItemDao extends BaseDao<Item>{}
UserDao
package org.crazyit.app.dao;import org.crazyit.app.domain.*;public interface UserDao extends BaseDao<User>{}

三 dao實(shí)現(xiàn)類

BaseDaoImpl
package org.crazyit.app.dao.impl;import org.crazyit.app.dao.*;public class BaseDaoImpl<T> implements BaseDao<T>{   public void save(T e)   {      System.out.println("程序保存對象:" + e);   }}
ItemDaoImpl
package org.crazyit.app.dao.impl;import org.springframework.stereotype.*;import org.crazyit.app.dao.*;import org.crazyit.app.domain.*;@Component("itemDao")public class ItemDaoImpl extends BaseDaoImpl<Item>  implements ItemDao{}
UserDaoImpl
package org.crazyit.app.dao.impl;import org.springframework.stereotype.*;import org.crazyit.app.dao.*;import org.crazyit.app.domain.*;@Component("userDao")public class UserDaoImpl extends BaseDaoImpl<User>  implements UserDao{}

四 Bean

Item
package org.crazyit.app.domain;public class Item{}
User
package org.crazyit.app.domain;public class User{}

五 service接口

BaseService
package org.crazyit.app.service;import org.springframework.stereotype.*;import org.springframework.beans.factory.annotation.*;import org.crazyit.app.service.*;public interface BaseService<T>{  void addEntity(T entity);}
ItemService
package org.crazyit.app.service;import org.springframework.stereotype.*;import org.springframework.beans.factory.annotation.*;import org.crazyit.app.service.*;import org.crazyit.app.domain.*;@Componentpublic interface ItemService extends BaseService<Item>{}
UserService
package org.crazyit.app.service;import org.springframework.stereotype.*;import org.springframework.beans.factory.annotation.*;import org.crazyit.app.service.*;import org.crazyit.app.domain.*;@Componentpublic interface UserService extends BaseService<User>{}

六 Service實(shí)現(xiàn)類

BaseServiceImpl
package org.crazyit.app.service.impl;import org.springframework.stereotype.*;import org.springframework.beans.factory.annotation.*;import org.crazyit.app.dao.*;import org.crazyit.app.service.*;public class BaseServiceImpl<T> implements BaseService<T>{  @Autowired  private BaseDao<T> dao;  public void addEntity(T entity)  {    System.out.println("調(diào)用" + dao      + "保存實(shí)體:" + entity);  }}
ItemServiceImpl
package org.crazyit.app.service.impl;import org.springframework.stereotype.*;import org.springframework.beans.factory.annotation.*;import org.crazyit.app.service.*;import org.crazyit.app.domain.*;@Component("itemService")public class ItemServiceImpl extends BaseServiceImpl<Item>  implements ItemService{}
UserServiceImpl
package org.crazyit.app.service.impl;import org.springframework.stereotype.*;import org.springframework.beans.factory.annotation.*;import org.crazyit.app.service.*;import org.crazyit.app.domain.*;@Component("userService")public class UserServiceImpl extends BaseServiceImpl<User>  implements UserService{}

七 測試類

package lee;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.crazyit.app.service.*;import org.crazyit.app.domain.*;public class BeanTest{  public static void main(String[] args)throws Exception  {    // 創(chuàng)建Spring容器    ApplicationContext ctx = new      ClassPathXmlApplicationContext("beans.xml");    UserService us = ctx.getBean("userService", UserService.class);    us.addEntity(new User());    ItemService is = ctx.getBean("itemService", ItemService.class);    is.addEntity(new Item());  }}

八 測試

調(diào)用org.crazyit.app.dao.impl.UserDaoImpl@b7dd107保存實(shí)體:org.crazyit.app.domain.User@42eca56e調(diào)用org.crazyit.app.dao.impl.ItemDaoImpl@52f759d7保存實(shí)體:org.crazyit.app.domain.Item@7cbd213e


關(guān)于Spring中@Autowire注解如何使用問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI