`

Spring笔记

 
阅读更多
  • Spring MVC 设置Response的charset
    @RequestMapping(value = "/login", produces = "text/plain;charset=gb2312")
    @ResponseBody
    public String login(HttpServletRequest req, HttpServletResponse resp) {
            
    }
     
  • Spring MVC 超时处理
    //在stackoverflow上看到的一个有趣的案例
    //场景: 用户访问,如果后台处理时间<10s时返回正常结果页面,否则返回超时页面
    
    //AsyncTaskExecutor异步任务处理, 但它的submit()方法是阻塞型的.
    final Future<ModelAndView> future = asyncTaskExecutor.submit(new Callable<ModelAndView>() {
        @Override
        public ModelAndView call() throws Exception {
            //lengthy computations...
            return new ModelAndView("done");
        }
    });
    try {
        return future.get(10, TimeUnit.SECONDS); // 设置超时时间
    } catch (TimeoutException e) { //捕获超时异常进行处理
        return new ModelAndView("timeout");
    }
     
  • Spring MVC 获取 Session Attribute

使用范例

@RequestMapping("/data/file/selectFileLog")
public @ResponseBody Pagination selectFileLog(@RequestBody Pagination page, 
			@SessionAttribute("loginUser")LoginUser loginUser){
        //do sth.
}

 实现步骤: 

//1. 创建注解类
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface SessionAttribute {
	
	public String value();
	
	public boolean required() default true;
	
}
//2. 实现Resolver
public class SessionAttributeArgumentsResolver implements WebArgumentResolver {
	
	Logger console = Logger.getLogger(SessionAttributeArgumentsResolver.class);

	@Override
	public Object resolveArgument(MethodParameter param, NativeWebRequest request)
			throws Exception {
		Annotation[] annotations = param.getParameterAnnotations();
		for (Annotation annotation : annotations){
			if(SessionAttribute.class.isInstance(annotation)){
				SessionAttribute sa = (SessionAttribute) annotation;
				String attrName = sa.value();
				boolean required = sa.required();
				Object res = request.getAttribute(attrName, RequestAttributes.SCOPE_SESSION);
				if (null == res && required){
					throw new RuntimeException("Attribute:{ " + attrName + " } not exsited in session !");
					
				}
				return res;
			}
		}
		return UNRESOLVED;
	}

}
<!--3. 配置Resolver -->
<mvc:annotation-driven >
        <mvc:argument-resolvers>
            <bean id="sessionAttributeArgumentsResolver" class="com.lhw.util.base.SessionAttributeArgumentsResolver"></bean>
        </mvc:argument-resolvers>
</mvc:annotation-driven>

  

  • Spring JDBC 插入并获取新增记录的ID
public static long commonInsert(JdbcTemplate jt, String tableName, String idColumn, Map<String, Object> object){
	SimpleJdbcInsert sji = new SimpleJdbcInsert(jt)
			.withTableName(tableName)
			.usingGeneratedKeyColumns(idColumn);
	return sji.executeAndReturnKey(object).longValue();
}

 

分享到:
评论

相关推荐

    SPRING 笔记SPRING 笔记

    SPRING 笔记SPRING 笔记SPRING 笔记

    spring笔记

    Spring 笔记 Spring 是 Java 企业版(Java EE)应用程序的框架,提供了结构化的配置文件,实现了控制反转(IoC)和面向切面编程(AOP),支持表现层、业务逻辑层和持久层。Spring 的核心是 IoC 和 AOP,能够与主流...

    spring笔记.pdf

    spring笔记spring基础笔记

    spring 笔记

    spring 初学 笔记 入门提示

    达内,tarena,spring笔记,springPPT课件,达内spring笔记

    Spring笔记可能涵盖了以下内容: 1. **IoC(Inversion of Control)容器**:Spring的核心特性之一,通过反转控制权,让框架负责管理对象的生命周期和装配,开发者只需定义配置,无需手动创建对象。 2. **依赖注入...

    Spring笔记示例源代码

    "Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...

    spring笔记.md

    spring入门笔记

    尚硅谷Spring笔记

    尚硅谷Spring笔记

    Spring笔记.doc

    【Spring 概念与优势】 Spring 是一个开源的 Java 应用框架,主要设计目标是简化企业级应用的开发。它的核心特性是依赖注入(Dependency Injection,简称 DI)和面向切面编程(Aspect-Oriented Programming,简称 ...

    spring笔记.rar

    除了以上核心内容,Spring笔记中还涵盖了Spring Boot、Spring Cloud等进阶话题,这些都是现代微服务架构中不可或缺的部分。Spring Boot简化了Spring应用的初始搭建和运行过程,而Spring Cloud则为构建分布式系统提供...

    spring笔记.zip

    Spring框架是Java开发中的核心组件,它为应用程序提供...这些笔记将涵盖这些主题的基本概念、使用方法和示例,帮助初学者快速理解和掌握Spring生态系统。通过深入学习和实践,开发者能够构建出高效、可扩展的Java应用。

    Spring笔记.docx

    ### Spring框架概述与核心特性 #### 一、Spring框架简介 Spring框架是一个开源的企业级Java应用框架,由Rod Johnson在2003年发起并创建。它为Java应用程序提供了全面的基础设施支持,使得开发者能够专注于业务逻辑...

    Spring笔记 狂神说

    spring笔记 狂神说

    spring笔记 spring开发教程

    这个"spring笔记"涵盖了上述所有内容,并且非常完整,对于初学者和有经验的开发者都是极好的学习资源。通过深入学习和实践,你将能够充分利用Spring框架的强大功能,提升你的开发效率和应用质量。

    Spring笔记整理.zip

    本笔记将深入讲解Spring的核心概念和使用方法,帮助你快速掌握这一重要的技术。 1. **注解装配**:在Java世界中,注解(Annotation)是一种元数据,它可以提供额外的信息给编译器或运行时环境。在Spring中,注解被...

    狂神spring笔记.pdf

    狂神的spring讲解资料,已汇总成PDF笔记,并加了章节标签方便阅读

    韩顺平spring笔记及PPT资料

    《韩顺平Spring笔记及PPT资料》是一份详尽且深入的学习资源,由知名IT教育专家韩顺平老师精心编制。这份资料旨在帮助学习者掌握Spring框架的核心概念和技术,以便在实际开发中灵活运用。Spring是Java企业级应用开发...

Global site tag (gtag.js) - Google Analytics