JFinal如何配置springPlug

tianxia007 发布于 2014/02/27 11:21
阅读 1K+
收藏 0


这是service中的代码:

@Service
public class Tuserinfoservice {
 @BY_NAME
 private Tuserinfo tuserinfo;
 public Tuserinfo findbyid(String username){
  return  tuserinfo.findbyid(username);
 }}

这是controller中注解部分的代码:

public class HelloController extends Controller {
 
 @BY_NAME
 private Tuserinfoservice tuserinfoservice;}

这是实体类中的注解部分的代码:

@Repository
public class Tuserinfo extends Model<Tuserinfo> {
 public static final Tuserinfo tuserinfo=new Tuserinfo();}

这是spring的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:flex="http://www.springframework.org/schema/flex"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
 http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
 http://www.springframework.org/schema/flex http://www.springframework.org/schema/flex/spring-flex-1.0.xsd"
 >
 <!-- bean扫描路径,如果有多个可使用“,”、“;”分隔  -->
 <context:component-scan base-package="com.blogsys"/>
</beans>

项目,用new获取的service可以正常获取数据,可以用注解的service就报错:service空指针。请问这样写哪里错了啊

加载中
1
tianxia007
tianxia007

谢谢!已经解决,可以实现自动扫描,注解获取service,entity。

0
0
tianxia007
tianxia007
么有这个注解符号啊
0
盯裆狼
盯裆狼
之前做整合也碰到过这个问题,后来没有用Repository注解,直接在xml里面定义了bean就搞定了,具体原因我也没查
0
0
JFinal
JFinal
    需要通过 IocInterceptor 配合 @Inject.BY_NAME 或 @Inject.BY_TYPE 对 Controller 进行注入,被注入的对象是被 Spring 管理的,所以其后的规则全由 Spring 决定,JFinal 手册有示例代码
0
JFinal
JFinal

引用来自“缀金玉”的答案

谢谢!已经解决,可以实现自动扫描,注解获取service,entity。

记得回来分享出来,造福有需要的朋友
0
tianxia007
tianxia007

亲测可用:假设你的底层框架为:entity(该框架本部分也相当于dao)---service----facade----controller,注解获取实例思路如下

使用本框架自带的spring插件,先添加该插件,默认会读取applicationcontext.xml文件,具体配置看官方文档。

1.sprig配置文件中添加自动扫描:

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

2.service添加注解:@Service。获取entity(dao):

@Repository

private User user;

facade获取service同理。

3.controller获取facade:controller给注解@Controller

@By_name

private UserFacade userFacade;

这里必须用这个注解才可以获取到facade.service中必须用Repository获取下级实体类。

其他方案或者问题请赐教。

 

0
tianxia007
tianxia007
controller注解:@Before(IocInterceptor.class)
返回顶部
顶部