aotuwried是java的注解吗,Spring实战之@Autowire注解用法详解

本文通过实例展示了如何在Spring中使用@Autowire注解进行依赖注入,包括配置XML、接口与实现类、@Service和@Repository接口的应用,以及在测试类中的实际调用。适合学习者理解Spring组件装配方式。
摘要由CSDN通过智能技术生成

本文实例讲述了Spring实战之@Autowire注解用法。分享给大家供大家参考,具体如下:

一 配置

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">

base-package="org.crazyit.app.service,org.crazyit.app.dao"/>

二 dao接口

BaseDao

package org.crazyit.app.dao;

public interface BaseDao

{

void save(T e);

}

ItemDao

package org.crazyit.app.dao;

import org.crazyit.app.domain.*;

public interface ItemDao extends BaseDao

{

}

UserDao

package org.crazyit.app.dao;

import org.crazyit.app.domain.*;

public interface UserDao extends BaseDao

{

}

三 dao实现类

BaseDaoImpl

package org.crazyit.app.dao.impl;

import org.crazyit.app.dao.*;

public class BaseDaoImpl implements BaseDao

{

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

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

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

{

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.*;

@Component

public interface ItemService extends BaseService

{

}

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.*;

@Component

public interface UserService extends BaseService

{

}

六 Service实现类

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 implements BaseService

{

@Autowired

private BaseDao dao;

public void addEntity(T entity)

{

System.out.println("调用" + dao

+ "保存实体:" + 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

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

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

{

// 创建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());

}

}

八 测试

调用org.crazyit.app.dao.impl.UserDaoImpl@b7dd107保存实体:org.crazyit.app.domain.User@42eca56e调用org.crazyit.app.dao.impl.ItemDaoImpl@52f759d7保存实体:org.crazyit.app.domain.Item@7cbd213e

更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值