这是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空指针。请问这样写哪里错了啊
谢谢!已经解决,可以实现自动扫描,注解获取service,entity。
@Inject么有这个注解符号啊之前做整合也碰到过这个问题,后来没有用Repository注解,直接在xml里面定义了bean就搞定了,具体原因我也没查谢谢!已经解决,可以实现自动扫描,注解获取service,entity。
亲测可用:假设你的底层框架为:entity(该框架本部分也相当于dao)---service----facade----controller,注解获取实例思路如下
使用本框架自带的spring插件,先添加该插件,默认会读取applicationcontext.xml文件,具体配置看官方文档。
1.sprig配置文件中添加自动扫描:
<context:component-scanbase-package="com.blogsys"/>2.service添加注解:@Service。获取entity(dao):
@Repository
privateUseruser;
facade获取service同理。
3.controller获取facade:controller给注解@Controller
@By_name
privateUserFacadeuserFacade;
这里必须用这个注解才可以获取到facade.service中必须用Repository获取下级实体类。
其他方案或者问题请赐教。
controller注解:@Before(IocInterceptor.class)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。