项目中一个普通的Java类如何获取service接口(一)
在普通的Java类中获取service接口目的是调用接口中的方法,实现数据的持久化等操作:
Java类中的获取service接口方法:
IfaceDetectService faceDetectService = (IFaceDetectService)SpringUtil.getObject("faceDetectService");
注意:括号中的“faceDetectService”一定要与serviceimpl上注入的一致。
SpringUtil类:
public static final String publicDBSource = "publicDBSource"; //本地数据库连接
//此方法会重新加载spring,故不用
// public static ApplicationContext ct=new ClassPathXmlApplicationContext("/config/spring/spring-servlet.xml"); ;
public static ApplicationContext ct;
public static ServletContext servletContext;
//从数据库中获得数据库连接
public static Connection getSpringBean(String beanId){
BoneCPDataSource datasource=(BoneCPDataSource)ct.getBean(beanId);
Connection conn = null;
try {
conn=(Connection) datasource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static BasicDaoSupportImpl getDaoSupport(){
return (BasicDaoSupportImpl)ct.getBean("basicDaoSupport");
}
public static Connection getPublicConnection(){
return getSpringBean("publicDBSource");
}
//spring中获得bean
public static Object getObject(String beanId){
return ct.getBean(beanId);
}
//获得web.xml配置文件参数
public static String getContextParams(String name){
return servletContext.getInitParameter(name);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = getSpringBean(null);
CallableStatement statement = null;
String sql = "{call InsertBBSBloger(?,?,?)}";
try {
statement = conn.prepareCall(sql);
statement.setString(1, "jacun");
statement.setString(2, "http://3more.jpg");
statement.registerOutParameter(3, Types.INTEGER);
statement.execute();
//输出:
int webid = statement.getInt(3);
System.out.println(webid+"===");
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void setApplicationContext(ApplicationContext arg0) throws BeansException {
SpringUtil.ct = arg0;
}
@Override
public void setServletContext(ServletContext arg0) {
servletContext = arg0;
}
main方法是我在测试时候用的,可以去掉。
配置文件spring-servlet.xml:
<!-- 自动spring ApplicationContext 到对象中 -->
<bean id="SpringUtil" class="monitor.util.SpringUtil"></bean>
完成。
项目中一个普通的Java类如何获取service接口(一)的更多相关文章
- 项目中一个普通的Java类如何获取serviceimpl实现类(二)
HbOnLineConfigServiceImpl hbOnlineService=(HbOnLineConfigServiceImpl) WebContextFactoryUtil.getBean( ...
- IDEA 创建一个普通的java项目
IntelliJ IDEA 如何创建一个普通的java项目,及创建java文件并运行 首先,确保idea软件正确安装完成,java开发工具包jdk安装完成. IntelliJ IDEA下载地址:htt ...
- 在Web工程中,普通Java类如何读文件
我们在以前讨论过在Web工程不能采用Java工程原先的读取方式,即创建一个文件流(FileInputStream)并给出一个文件目录(从src开始找一直找到你要读取文件的目录),这种的方式是不可行的. ...
- 四、spring集成ibatis进行项目中dao层基类封装
Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库 ...
- 关于Java中的对象、类、抽象类、接口、继承之间的联系
关于Java中的对象.类.抽象类.接口.继承之间的联系: 导读: 寒假学习JavaSE基础,其中的概念属实比较多,关联性也比较大,再次将相关的知识点复习一些,并理顺其中的关系. 正文: 举个例子:如果 ...
- spring注解方式在一个普通的java类里面注入dao
spring注解方式在一个普通的java类里面注入dao @Repositorypublic class BaseDaoImpl implements BaseDao {这是我的dao如果在servi ...
- 将Eclipse中现有的java类生成类图
需求:将Eclipse中现有的java类生成类图 一:什么是ModelGoon? 它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图). 二:安装 下载Mod ...
- 设计模式(一)单例模式:创建模式 ASPNET CORE WEB 应用程序的启动 当项目中 没有STARTUP.CS 类如何设置启动 配置等等
设计模式(一)单例模式:创建模式 先聊一下关于设计的几个原则(1)单一原则(SRP):一个类应该仅有一个引起它变化的原因 :意思就是 (一个类,最好只负责一件事情,并且只有一个引起它变化的原因(2)开 ...
- IntelliJ IDEA启动一个普通的java web项目的配置
文:朱季谦 这是我很久以前刚开始用IntelliJ IDEA时记录的笔记,正好赶上最近离职了,可以有比较多的时间把以前的记录整理一下,可以让刚接触到IntelliJ IDEA的童鞋学习如何在Intel ...
随机推荐
- buffer和cache怎么让你们解释的那么难理解?
对于一个即将踏上“系统运维”或者更加高大尚的工作“系统调优”,如果这不跟这两哥们搞好关系了,坑的不只有内存,更坑的是你拿着调优的钱却干着随时被调的活.因为作为一个系统运维人员来说监控和优化IO性能这是 ...
- Linux 之 xunsearch
Linux 之 xunsearch 参考教程:[千峰教育] 一.xunsearch简介: 开源免费.高性能.多功能.简单易用的专业全文检索技术方案. 官网(http://xunsearch.com). ...
- Laravel 5.1 框架返回状态拦截
Laravel 5.1 返回信息状态拦截 可以在app\Exceptions\Handler.php文件中修改, public function render($request, Exception ...
- yii批量插入数据
现在有如下数据: 查看代码 打印 1 $user=array( 2 0=>array('id'=>1,'name'=>'张三'), 3 0=>array(' ...
- AtCoder - 2581 Meaningful Mean
Problem Statement You are given an integer sequence of length N, a= {a1,a2,…,aN}, and an integer K. ...
- Codeforces 622F The Sum of the k-th Powers
Discription There are well-known formulas: , , . Also mathematicians found similar formulas for high ...
- xamarin android 获取根证书代码
Java.Security.KeyStore keyStore = Java.Security.KeyStore.GetInstance("AndroidCAStore"); ke ...
- 3D空间中射线与轴向包围盒AABB的交叉检测算法 【转】
http://blog.csdn.net/i_dovelemon/article/details/38342739 引言 在上一节中,我讲述了如何实现射线与三角形的交叉检测算法. 但是,我们应该知道, ...
- Oracle对没有主键的表分页
普通情况对于有主键,能够做唯一表识的表.我们能够利用主键和rownum配合实现.比如: select scott.emp.* from scott.emp left join (select empn ...
- C++ Primer 学习笔记_6_标准库类型 -- 命名空间using与string类型
标准库类型(一) --命名空间using与string类型 引: 标准库类型是语言组成部分中更主要的哪些数据类型(如:数组.指针)的抽象! C++标准库定义的是高级的抽象数据类型: 1.高级:由 ...