有味觉大师官网知道烧烤用的味粉是什么配置的··就是白色粉末那种··

2014年5月 Java大版内专家分月排行榜第三
2015年7月 Web 开发大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Spring 注解 通过@Resource获得的是空指针 - 开源中国社区
当前访客身份:游客 [
当前位置:
Spring+Shiro,使用注解,在定义的MyRealm中使用注解定义的Bean都无法使用,测试了几个service和dao,在其他Controller/Service中都能正常使用,在下面的MyRealm中却失败,研究了一晚上没搞定,纠结万分呐,请大家给看看错在哪儿:
@Component public class MyRealm extends AuthorizingRealm {
& & //无法使用注解,调用不到bean,如果在方法改用直接new,loginDao中的注解也会失效 & && & & @Resource(name=&loginDao&) & & private LoginDao loginD & & public void setLoginDao(LoginDao loginDao) & & { & & & & this.loginDao = loginD & & }
& & //授权 & & @Override & & protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection arg0) & & { & & & & // TODO Auto-generated method stub & & & & System.out.println(&getAuthorization&); & & & && & & & & & & }
& & //认证 & & @Override & & protected AuthenticationInfo doGetAuthenticationInfo( & & & & & & AuthenticationToken authcToken) throws AuthenticationException & & { & & & & // TODO Auto-generated method stub & & & & System.out.println(&登录认证&); & & & & UsernamePasswordToken token = (UsernamePasswordToken) authcT & & & & String username = token.getUsername(); & & & & if(username!=null&&!username.isEmpty()) & & & & { & & & & & & LoginModel loginModel = new LoginModel(); & & & & & & loginModel.setAccount(username); & & & & & & loginModel.setPassword(String.valueOf(token.getPassword())); & & & & & & & & & & & & User user = loginDao.login(loginModel);//报空指针,loginDao==null & & & & & & if(user != null) & & & & & & { & & & & & & & & return new SimpleAuthenticationInfo(user.getAccount(),user.getPassword(),getName()); & & & & & & & && & & & & & & } & & & & } & & & & & & }
spring-shiro.xml:
&description&Shiro&/description&
&bean id=&lifecycleBeanPostProcessor& class=&org.apache.shiro.spring.LifecycleBeanPostProcessor&/&
&!-- MyReal 自定义Bean,在.xml中定义myRealm而不是用注解方式定义,是因为一定要在sercurityManager之前定义 --& &bean id=&myRealm& class=&com.www.service.MyRealm&&&/bean&
&bean id=&securityManager& class=&org.apache.shiro.web.mgt.DefaultWebSecurityManager&& & & &property name=&realm& ref=&myRealm&/& &/bean&
&!-- 接受安全登录检查,如果未登录,则跳转到loginUrl指向的路径;如果成功则转到successUrl指向的路径 --& &bean id=&shiroFilter& class=&org.apache.shiro.spring.web.ShiroFilterFactoryBean&& & & &property name=&securityManager& ref=&securityManager&/& & & &property name=&loginUrl& value=&login&/& & & &property name=&successUrl& value=&index&/& & & &property name=&unauthorizedUrl& value=&error&/& & & &property name=&filterChainDefinitions&& & & & & &value& & & & & /login.jsp = anon & & & & /login = anon & & & & /index.jsp = anon & & & & /index = anon & & & && & & & & /*.jsp = authc & & & & /*.do = authc & & & & /** = authc & & & & &/value& & & &/property&& & && &/bean&
dispatcher-servlet.xml:
&context:annotation-config /& & & &context:component-scan base-package=&com.www& /& & & &bean class=&org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter&&&/bean& & && & &&
共有6个答案
<span class="a_vote_num" id="a_vote_num_
你的dao在spring中注入了吗?或者试试@Autowire 呢?
--- 共有 1 条评论 ---
注解了,dao在Controller里面使用可以用
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
请用代码格式化后在发布。。。。
<span class="a_vote_num" id="a_vote_num_
// JdbcRealm
@Resource(name = &loginService&)
private ILoginService loginS
// spring-shiro.xml
&bean id=&jdbcRealm& class=&com.secn.login.shiro.JdbcRealm&&
&&&&&property name=&cacheManager& ref=&shiroCacheManager& /&
// 扫描指定包下的组件
&context:component-scan base-package=&com.secn&&
&&&&&context:include-filter type=&aspectj& expression=&com.secn.*.dao&/&
&&&&&context:include-filter type=&aspectj& expression=&com.secn.*.service.*&/&
&/context:component-scan&
--- 共有 2 条评论 ---
: 扫描指定包下的bean。 我的REALM就在其中。 这样就保证了REALM中的LoginService能够正确的被注入。
我的理解是这样的、
(3年前)&nbsp&
你还用到aspectj&.....其实问题不在dao有没有被定义为bean,因为在controller中我试过,dao被成功注解,可以用,就在MyRealm中无法用,很怪,别的bean在MyRealm中也没法用
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
我的Realm没有定义@Component注解。 你已经在配置文件里面定义了为何还要用@Component?
--- 共有 1 条评论 ---
我先注解,但在配置文件里配置shiro的时候要用到Realm,需要在用到的地方之前定义MyRealm的bean,就在spring-shiro.xml中提前定义了,不冲突,去掉@Component一样不对
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
bean的生成交给了spring管理,但是有可能在你用到shiro的时候,bean还没有生成,建议可以从application中获取bean实例。。
<span class="a_vote_num" id="a_vote_num_
我也遇到了这个问题
参考这个吧 http://blog.csdn.net/windsome/article/details/
更多开发者职位上
有什么技术问题吗?
类似的话题匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 烹大师调味料 的文章

 

随机推荐