
spring技术
文章平均质量分 56
迷彩_风情
代码改变世界
展开
-
Spring的整体架构
在Spring中,我们大致按照一个参考关系,将其划分为几个层次,比如IoC容器、AOP核心模块、封装的Java EE服务、作为中间的驱动组件、其他作为上层的应用等。从技术上看,Spring是封装得很清晰的一个分层架构原创 2017-06-20 13:45:00 · 242 阅读 · 0 评论 -
ModelMap和ModelAndView的作用
首先介绍ModelMap和ModelAndView的作用 ModelMap ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数: addAttribute(String key,O转载 2017-07-20 17:36:47 · 226 阅读 · 0 评论 -
spring 解读之 基本bean装配
容器是spring的核心,spring容器使用DI管理所有组成应用系统的组件。spring的IOC容器能够帮我们自动new对象,对象交给spring管之后我们不用自己手动去new对象了。1.spring 容器分为两类:1.1 bean工厂(由BeanFactory接口定义)是最简单的spring容器,提供了基本的依赖注入支持。1.2 应用上下文(由ApplicationCo转载 2017-07-20 17:45:24 · 329 阅读 · 0 评论 -
spring 解读之 DI 、AOP
1.依赖注入使用依赖注入,对象的依赖都是在对象创建时由负责协调应用的各个对象的外部实体提供的。这就是依赖被注入到对象中。DI意味着关于对象如何获得他的协作对象的责任被反转了。DI的关键有点是松解耦合。如果一个对象通过接口只知道其依赖对象,那么该依赖将使用一种不同的实现方式来交互,其依赖对象并不知道这种变化。简而言之:依赖注入就是 协调依赖对象之间合作的责任从对象自身中转载 2017-07-20 17:46:40 · 252 阅读 · 0 评论 -
spring生成EntityManagerFactory的三种方式
1.LocalEntityManagerFactoryBean只是简单环境中使用。它使用JPA PersistenceProvider自动检测机制( according to JPA's Java SE bootstrapping ),并且大多数情况下,你只能定义一下persistence unit name例如:<bean i原创 2017-07-18 17:39:32 · 5769 阅读 · 0 评论 -
spring-aop-@Aspect详细用法
@AspectJ的详细用法 在spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下:一些常见的切入点的例子 execution(public * * (. .)) 任意公共方法被执行时,执行切入点函数。 execution( * set* (. .)) 任何以一个“set”开始的方法被执行时,执行切入点函数。 exec原创 2017-07-31 14:46:22 · 403 阅读 · 0 评论 -
@Transaction注解的理解以及手动回滚事务的2种方法
1、@Transaction注解的含义在业务逻辑处理中,service层的某个方法使用注解@Transaction,代表统一开启事务,该业务操作具有原子性,要么一起提交,要么都不成成功。2、什么情况下会手动回滚事务?a.业务方法中出现运行期异常,例如runtimeException,b.手动编程方式设置回滚: TransactionAspectSupport.currentTra原创 2017-08-08 12:01:35 · 3904 阅读 · 1 评论 -
Spring AOP中pointcut expression表达式解析
Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的.Pointcut可以有下列方式来定义或者通过&& || 和!的方式进行组合. args()@args()execution()this()target()@target()within()@within()@annotation其中executio转载 2017-08-04 11:41:07 · 310 阅读 · 0 评论 -
spring boot 使用@ConfigurationProperties
有时候有这样子的情景,我们想把配置文件的信息,读取并自动封装成实体类,这样子,我们在代码里面使用就轻松方便多了,这时候,我们就可以使用@ConfigurationProperties,它可以把同类的配置信息自动封装成实体类首先在配置文件里面,这些信息是这样子滴connection.username=adminconnection.password=kyjufskifas2jsfsc原创 2017-09-14 15:18:44 · 284 阅读 · 0 评论 -
用@ExceptionHandler 来进行异常处理
有时候我们想统一处理一个Controller中抛出的异常怎么搞呢?直接在Controller里面加上用@ExceptionHandler标注一个处理异常的方法像下面这样子@ExceptionHandler(MissingServletRequestParameterException.class)@ResponseStatus(HttpStatus.BAD_REQUEST)publ原创 2017-09-15 10:40:33 · 1918 阅读 · 0 评论 -
spring三种事物处理方式
1、用原始的transactionfactorybean的,代理dao事务处理2、用aop:config声明要进行事务增强的切面,用tx:advice声明具体方法的事务属性,及应用到的事务管理器3、使用@transactional注解配置声明事务(最简单实用的方法)如有一代表用户的域对象user:package com.domain;import java.io.s原创 2017-09-19 14:41:54 · 532 阅读 · 0 评论 -
Spring Boot,Spring Data JPA多数据源支持配置
1.配置文件#mysql#主库参数primaryspring.primary.datasource.url=jdbc:mysql://101.200.152.192:3307/ovuola?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=falsespring.pri原创 2017-09-22 17:09:59 · 648 阅读 · 0 评论 -
spring执行同步任务和异步任务
顾名思义:同步任务是指事情需要一件一件的做,做完当前的任务,才能开始做下一任务;异步任务是指做当前任务的同时,后台还可以在执行其他任务,可理解为可同时执行多任务,不必一件一件接着去做,下面开始上例子了 1.同步任务Java代码 /* * @(#)SyncTaskExecutorTest.java 2011-4-27 * * Co转载 2017-11-14 17:20:47 · 4011 阅读 · 0 评论 -
spring RestTemplate用法详解
前面介绍过spring的MVC结合不同的view显示不同的数据,如:结合json的view显示json、结合xml的view显示xml文档。那么这些数据除了在WebBrowser中用JavaScript来调用以外,还可以用远程服务器的Java程序、C#程序来调用。也就是说现在的程序不仅在BS中能调用,在CS中同样也能调用,不过你需要借助RestTemplate这个类来完成。RestTemplate原创 2017-07-17 13:17:20 · 5170 阅读 · 0 评论 -
HttpMessageConverter(消息转换器 )和@responsebody使用
@responsebody表示该方法的返回结果直接写入HTTP response body中 一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。 Spr转载 2017-07-20 17:31:56 · 1293 阅读 · 0 评论 -
java的动态代理机制详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。转载 2017-06-21 10:24:32 · 211 阅读 · 0 评论 -
Spring3:AOP
AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种散布在各处的无关的代码被称为原创 2017-06-21 11:06:24 · 357 阅读 · 0 评论 -
Consuming a RESTful Web Service
This guide walks you through the process of creating an application that consumes a RESTful web service.What you’ll buildYou’ll build an application that uses Spring’s RestTemplate to原创 2017-07-03 10:43:41 · 659 阅读 · 0 评论 -
spring项目开发小记
As you see in steps below, Spring uses the Jackson JSON library to automatically marshal instances of type Greeting into JSON.{ "id": 1, "content": "Hello, World!"}package hello;原创 2017-07-03 11:41:47 · 189 阅读 · 0 评论 -
spring项目开发小记2
The above example does not specify GET vs. PUT, POST, and so forth, because @RequestMapping maps all HTTP operations by default. Use @RequestMapping(method=GET) to narrow this mapping.2.返回原创 2017-07-03 11:46:02 · 207 阅读 · 0 评论 -
Spring项目开发小记3
This code uses Spring 4’s new @RestController annotation, which marks the class as a controller where every method returns a domain object instead of a view. It’s shorthand for @Controller and @Resp原创 2017-07-03 11:50:10 · 229 阅读 · 0 评论 -
springboot集成hibernate-jpa方式
1、maven依赖hibernate 依赖 --> org.springframework.boot spring-boot-starter-data-jpa MySQL mysql-connector-Java2、application.yml# Hibernate JPAspring: datasource:转载 2017-07-12 15:02:28 · 372 阅读 · 0 评论 -
SpringMVC之DispatcherServlet源码关键部分
noHandlerFound(processedRequest, response);return;}// Determine handler adapter for the current request.HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());// Process l原创 2017-07-04 16:50:50 · 273 阅读 · 0 评论 -
Spring 定时任务之 @Scheduled cron表达式
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为秒(0~59)分钟(0~59)小时(0~23)天(月)(0~31,但是你需要考虑你月的天数)月(0~11)天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099)其中每个元素可以是一原创 2017-07-07 16:55:17 · 214 阅读 · 0 评论 -
@RequestBody, @ResponseBody 注解详解
引言:接上一篇文章讲述处理@RequestMapping的方法参数绑定之后,详细介绍下@RequestBody、@ResponseBody的具体用法和使用时机;同时对曾经看的一篇文章中讲述的某些部分进行澄清 (文章地址:http://www.byywee.com/page/M0/S702/702424.html)。简介:@RequestBody作用:转载 2017-07-17 11:01:04 · 241 阅读 · 0 评论 -
SPRING MVC3.2案例讲解--SPRING MVC3的@ResponseBody和ResponseEntity
在传统的开发过程中,我们的控制CONTROLL层通常需要转向一个JSP视图;但随着WEB2.0相关技术的崛起,我们很多时候只需要返回数据即可,而不是一个JSP页面。 SPRING MVC3的@ResponseBody使Controller直接返回数据,而不是直接指向具体的视图;同时通过MessageConverter和produces(如produces="text/pla转载 2017-07-17 11:08:04 · 287 阅读 · 0 评论 -
spring容器的懒加载lazy-init设置
默认情况下,spring的IOC容器中lazy-init是false的,即没有打开懒加载模式。 如果你没有看到这个lazy-init 的参数设置就说明是false啦。 那么什么是懒加载? 懒加载---就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中。 例如我有如下的代码:转载 2017-07-17 11:20:47 · 4393 阅读 · 0 评论 -
@MapperScan注解
之前是,直接在Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解,麻烦。通过使用@MapperScan可以指定要扫描的Mapper类的包的路径,比如:@SpringBootApplication@MapperScan("com.lz.water.monitor.mapper")// 添加对mapper包扫描public class Application {...原创 2018-05-08 14:27:32 · 209733 阅读 · 8 评论