spring注解方式配置以及spring4的泛型注入 (4)
目录
- 一、@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)相关推荐
- spring 注解方式配置Bean
概要: 再classpath中扫描组件 组件扫描(component scanning):Spring可以从classpath下自己主动扫描.侦測和实例化具有特定注解的组件 特定组件包含: @Comp ...
- Spring注解方式配置切面类
- java datasource 配置_Spring boot 基于注解方式配置datasource
Spring boot 基于注解方式配置datasource Xml配置 我们先来回顾下,使用xml配置数据源. 步骤: 先加载数据库相关配置文件; 配置数据源; 配置sqlSessionFactor ...
- 【Spring系列】 Spring注解方式实现IOC、DI及其Spring其他注解
文章目录 注解回顾 JDK内置注解 自定义注解 1.声明一个注解类,由`@interface`修饰 2.通过元注解修饰注解的定义 `@Target`:(常用) `@Retention`:(常用) `@ ...
- spring注解方式 2022/08/22
spring注解方式 代码整体布局: 代码如下: pom.xml: spring-1.xml: Student: Test: Test2: spring-2.xml: Car: Driver: Tes ...
- atitit.ajax bp dwr 3.的注解方式配置使用流程总结.....
atitit.ajax bp dwr 3.的注解方式配置使用流程总结..... 1. 下载 dwr.jar 1M 1 2. 配置注解方式..web.xml 1 3. Class 配置 2 4. 测试 ...
- (转)使用Spring注解方式管理事务与传播行为详解
http://blog.csdn.net/yerenyuan_pku/article/details/52885041 使用Spring注解方式管理事务 前面讲解了怎么使用@Transactional ...
- spring注解开发配置spring父子容器
spring注解开发配置spring父子容器 官网 https://docs.spring.io/spring-framework/docs/current/spring-framework-refe ...
- spring注解方式整合Dubbo源码解析
系列文章目录 前言 本节我们的Dubbo源码版本基于2.6.x 在前一章我们的整合案例中,我们有几个比较关键的步骤: 在启动类上标注了@EnableDubbo注解 在provider类上面标注了@Se ...
- 关于Spring注解容器配置的那些事,掌握这几点,不再难!
在配置Spring时注解是否比XML更好? 基于注解配置的引入引出了一个问题--这种方式是否比基于XML的配置更好.简短的回答是视情况而定.长一点的回答是每种方法都有它的优点和缺点,通常是由开发者决定 ...
最新文章
- include_once 问题
- mysql 查询优化 非索引_mysql 查询优化和索引使用心得
- 关于iReport-5.6.0之前版本 “无法启动”或者“一开就关闭”的 某些原因
- c、c++、Java和gcc写Hello World
- 每日总结-2016年3月9日
- OpenGL uniform变量赋值的三种方法
- Java 9代码工具:使用Java微型基准测试工具的实践会话
- 矩阵连乘问题(c++)
- 易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?十大攻略秘籍速来看
- Spring整合Redis详解
- html单击出现下拉菜单,*OnClick实现点击主菜单时出现下拉菜单,已实现但是有问题,求助!*...
- python爬取京东商品价格教科书中文版_基于Python爬取京东双十一商品价格曲线
- cmd指令-快捷查看电脑ip地址
- 如何从git中移除一个子模块(submodule)
- matlab求解整数规划问题
- W ndows7安装Hp1020,Windows7系统怎么安装惠普hp1020打印机
- 7-6 计算存款利息
- 联接无止境!500万台AP潜在大数据流量入口
- 论文排版1-图片-eps、pdf格式转换
- MOS管安全工作区SOA及根据SOA选择MOS管
热门文章
- j2ee 简单网站搭建:(十一)ckeditor 控件使用入门
- BCB使用线程删除目录中的图片
- codeforces水题100道 第二十五题 Codeforces Round #197 A. Helpful Maths (Div. 2) (strings)
- php趣味编程 - php 余弦曲线
- redis 在 mac 下的安装与使用
- linux主从库配置文件,Linux系统中MongoDB安装及主从配置linux操作系统 -电脑资料
- idea javafx添加maven_IntelliJ IDEA使用之JavaFX
- python中pickle模块_python中的pickle模块
- MacOs中Docker与宿主机网络互通问题解决
- 场效应管原理_IGBT场效应管的工作原理以及极性判断、好坏判断方法