spring3 mvc的service如何在类中的中的怎么样使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring3 mvc的service如何在类中的中的怎么样使用相关的知识,希望对你有一定的参考价值。

@Service
public class UserServiceImpl implements UserService
@Autowired
private UserDao userDao;
@Transactional
public User findByName(String userName)
User user = null;
user= userDao.getUserByName(userName);
return user;


这样一个service在ShiroDbRealm 使用时,始终无法初始化,但我这个service在普通的@Controller中都是可以使用的,用法也是这样。
public class ShiroDbRealm extends AuthorizingRealm
@Autowired
private UserService userService;
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals)
String userName = (String) principals.fromRealm(getName()).iterator().next();
User user= userService.findByName(userName);
if (user != null)
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
info.addStringPermission("");
return info;

return null;

@Override
protected AuthenticationInfo doGetAuthenticationInfo(
AuthenticationToken token) throws AuthenticationException
UsernamePasswordToken upToken = (UsernamePasswordToken) token;
User user = userService.findByName(upToken.getUsername());
if (user != null)
return new SimpleAuthenticationInfo(user, user.getPassword(), getName());

return null;

参考技术A rhgfhggfb

spring 项目中在类中注入静态字段

有时spring 项目中需要将配置文件的属性注入到类的静态字段中

例如:文件上传

//文件上传指定上传位置
//resource-dev.properties 有如下参数
#upload
UPLOAD_PATH=D:\\home\\images
STATIC_URL=http://127.0.0.1/images/upload/

如果想在类中直接使用,可以通过定义常量类的静态字段来获取

@Component
@PropertySource("classpath:dev/resource-dev.properties")
public class ConstantsFilename {
    //Upload常量

    public static String UPLOAD_PATH;
    public static String STATIC_URL;

    public String getUploadPath() {
        return UPLOAD_PATH;
    }

//将 set 方法的 static 去掉
    @Value("${UPLOAD_PATH}")
    public void setUploadPath(String uploadPath) {
        UPLOAD_PATH = uploadPath;
    }

    public String getStaticUrl() {
        return STATIC_URL;
    }

//将 set 方法的 static 去掉
    @Value("${STATIC_URL}")
    public void setStaticUrl(String staticUrl) {
        STATIC_URL = staticUrl;
    }
}

此时,可以在你的类中直接使用 ConstantsFilename.STATIC_URL 和 ConstantsFilename.UPLOAD_PATH 了。

 

以上是关于spring3 mvc的service如何在类中的中的怎么样使用的主要内容,如果未能解决你的问题,请参考以下文章

mvc EF的仓储模式 怎么在类中使用

带有 MVC 的 Spring 3 JSON

如何在封装在类中的回调函数上发送指针

无法从数组中打印信息,无法弄清楚如何遍历存储在类中的数组?

Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)

工具类中怎么注入service,spring mvc +mybatiss