目录

  • 一、@Controller 注解控制层(action)
  • 二、@Service 注解服务层
  • 三、@Repository 持久层
  • 四、spring4的泛型注入测试
    • 1 创建两个实体User和Role
    • 2 baseDao抽取泛型基础curd
    • 3 两个实现类UserDao 和 RoleDao
    • 4 baseService
    • 5 UserService 和RoleService
    • 6 测试类

首先,在用注解之前,先在配置文件中加入以下配置,在base-package下自动扫描目录及子目录的注解 ,具体可以下载我的代码查看,下文有连接

<context:component-scan base-package="com.hp.spring"></context:component-scan>

一、@Controller 注解控制层(action)

@Controller
public class UserAction {@Autowiredprivate UsreService usreService;
} 

其中@Autowired 注入依赖,此外,@Resource和@Inject注解与@Autowired 类似

二、@Service 注解服务层

@Service
public class UsreService {@Autowiredprivate UserDao userDao;
}

三、@Repository 持久层

@Repository
public class UserDao {
} 

四、spring4的泛型注入测试

1 创建两个实体User和Role

public class User {
} public class Role {
} 

2 baseDao抽取泛型基础curd

public class BaseDao<T> {public void save(T entity){System.out.println("Save:" + entity);}
}

3 两个实现类UserDao 和 RoleDao

@Repository
public class RoleDao extends BaseDao<Role>{
} @Repository
public class UserDao extends BaseDao<User>{
} 

4 baseService

public class BaseService<T> {@Autowiredprivate BaseDao<T> dao;//这里会自动根据实际类型传入User或Rolepublic void addNew(T entity){System.out.println("addNew by " + dao);dao.save(entity);}
}

5 UserService 和RoleService

@Service
public class RoleService extends BaseService<Role>{
} //若注解没有指定 bean 的 id, 则类名第一个字母小写即为 bean 的 id
@Service
public class UserService extends BaseService<User>{
} 

6 测试类

    public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-annotation.xml");UserService userService = (UserService) ctx.getBean("userService");userService.addNew(new User());RoleService roleService = (RoleService) ctx.getBean("roleService");roleService.addNew(new Role()); }  

整个系列项目代码: http://git.oschina.net/nmc5/spring

转载于:https://www.cnblogs.com/linhp/p/5881778.html

spring注解方式配置以及spring4的泛型注入 (4)相关推荐

  1. spring 注解方式配置Bean

    概要: 再classpath中扫描组件 组件扫描(component scanning):Spring可以从classpath下自己主动扫描.侦測和实例化具有特定注解的组件 特定组件包含: @Comp ...

  2. Spring注解方式配置切面类

  3. java datasource 配置_Spring boot 基于注解方式配置datasource

    Spring boot 基于注解方式配置datasource Xml配置 我们先来回顾下,使用xml配置数据源. 步骤: 先加载数据库相关配置文件; 配置数据源; 配置sqlSessionFactor ...

  4. 【Spring系列】 Spring注解方式实现IOC、DI及其Spring其他注解

    文章目录 注解回顾 JDK内置注解 自定义注解 1.声明一个注解类,由`@interface`修饰 2.通过元注解修饰注解的定义 `@Target`:(常用) `@Retention`:(常用) `@ ...

  5. spring注解方式 2022/08/22

    spring注解方式 代码整体布局: 代码如下: pom.xml: spring-1.xml: Student: Test: Test2: spring-2.xml: Car: Driver: Tes ...

  6. atitit.ajax bp dwr 3.的注解方式配置使用流程总结.....

    atitit.ajax bp dwr 3.的注解方式配置使用流程总结..... 1. 下载  dwr.jar 1M 1 2. 配置注解方式..web.xml 1 3. Class 配置 2 4. 测试 ...

  7. (转)使用Spring注解方式管理事务与传播行为详解

    http://blog.csdn.net/yerenyuan_pku/article/details/52885041 使用Spring注解方式管理事务 前面讲解了怎么使用@Transactional ...

  8. spring注解开发配置spring父子容器

    spring注解开发配置spring父子容器 官网 https://docs.spring.io/spring-framework/docs/current/spring-framework-refe ...

  9. spring注解方式整合Dubbo源码解析

    系列文章目录 前言 本节我们的Dubbo源码版本基于2.6.x 在前一章我们的整合案例中,我们有几个比较关键的步骤: 在启动类上标注了@EnableDubbo注解 在provider类上面标注了@Se ...

  10. 关于Spring注解容器配置的那些事,掌握这几点,不再难!

    在配置Spring时注解是否比XML更好? 基于注解配置的引入引出了一个问题--这种方式是否比基于XML的配置更好.简短的回答是视情况而定.长一点的回答是每种方法都有它的优点和缺点,通常是由开发者决定 ...

最新文章

  1. include_once 问题
  2. mysql 查询优化 非索引_mysql 查询优化和索引使用心得
  3. 关于iReport-5.6.0之前版本 “无法启动”或者“一开就关闭”的 某些原因
  4. c、c++、Java和gcc写Hello World
  5. 每日总结-2016年3月9日
  6. OpenGL uniform变量赋值的三种方法
  7. Java 9代码工具:使用Java微型基准测试工具的实践会话
  8. 矩阵连乘问题(c++)
  9. 易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?十大攻略秘籍速来看
  10. Spring整合Redis详解
  11. html单击出现下拉菜单,*OnClick实现点击主菜单时出现下拉菜单,已实现但是有问题,求助!*...
  12. python爬取京东商品价格教科书中文版_基于Python爬取京东双十一商品价格曲线
  13. cmd指令-快捷查看电脑ip地址
  14. 如何从git中移除一个子模块(submodule)
  15. matlab求解整数规划问题
  16. W ndows7安装Hp1020,Windows7系统怎么安装惠普hp1020打印机
  17. 7-6 计算存款利息
  18. 联接无止境!500万台AP潜在大数据流量入口
  19. 论文排版1-图片-eps、pdf格式转换
  20. MOS管安全工作区SOA及根据SOA选择MOS管

热门文章

  1. j2ee 简单网站搭建:(十一)ckeditor 控件使用入门
  2. BCB使用线程删除目录中的图片
  3. codeforces水题100道 第二十五题 Codeforces Round #197 A. Helpful Maths (Div. 2) (strings)
  4. php趣味编程 - php 余弦曲线
  5. redis 在 mac 下的安装与使用
  6. linux主从库配置文件,Linux系统中MongoDB安装及主从配置linux操作系统 -电脑资料
  7. idea javafx添加maven_IntelliJ IDEA使用之JavaFX
  8. python中pickle模块_python中的pickle模块
  9. MacOs中Docker与宿主机网络互通问题解决
  10. 场效应管原理_IGBT场效应管的工作原理以及极性判断、好坏判断方法