Spring
伊佐奈美須八尾
这个作者很懒,什么都没留下…
展开
-
spring----注解@PostMapping &@GetMapping &@PutMapping &@DeleteMapping
背景:spring是支持rest风格的请求的。spring在处理请求的时候,可以通过参数指定处那种类型的其请求。比如:@RequestMapping(value="/user/login",method=RequestMethod.POST) 代表处理post请求。spring为了简单,于是有了@PostMapping ,接受post请求@Reque...原创 2019-11-11 14:03:59 · 2300 阅读 · 0 评论 -
Spring----学习(15)----返回通知 && 异常通知 && 环绕通知
1.@AfterReturning返回通知2.@AfterThrowing 异常通知@Aspect@Componentpublic class Log { /** * 返回通知:在方法正常结束后返回的通知。 * 返回通知可以访问到目标方法的返回值 * */ @AfterReturning(value = "execution(int com.lishen...原创 2019-04-02 18:06:30 · 328 阅读 · 1 评论 -
Spring----学习(16)----切面的优先级别---@Order
•在同一个连接点上应用不止一个切面时, 除非明确指定, 否则它们的优先级是不确定的.•切面的优先级可以通过实现 Ordered 接口或利用 @Order 注解指定.•实现 Ordered 接口, getOrder() 方法的返回值越小, 优先级越高.•若使用 @Order 注解, 序号出现在注解中(@Order(number)中的数值越小优先级越高)@Order(2)@...原创 2019-04-02 18:15:59 · 1517 阅读 · 0 评论 -
Spring----学习(16)----重用切入点表达式
1 在编写 AspectJ 切面时, 可以直接在通知注解中书写切入点表达式. 但同一个切点表达式可能会在多个通知中重复出现.2.在 AspectJ 切面中, 可以通过 @Pointcut 注解将一个切入点声明成简单的方法. 切入点的方法体通常是空的, 因为将切入点定义与应用程序逻辑混在一起是不合理的. 3 切入点方法的访问控制符同时也控制着这个切入点的可见性. 如果切入点要在...原创 2019-04-03 14:35:20 · 147 阅读 · 0 评论 -
Spring----学习(17)----基于配置文件的方式来配置AOP
1. 除了使用 AspectJ 注解声明切面, Spring 也支持在 Bean 配置文件中声明切面. 这种声明是通过 aop schema 中的 XML 元素完成的.2. 正常情况下, 基于注解的声明要优先于基于 XML 的声明. 通过 AspectJ 注解, 切面可以与 AspectJ 兼容, 而基于 XML 的配置则是 Spring 专有的. 由于 Asp...原创 2019-04-03 15:10:34 · 204 阅读 · 0 评论 -
Spring----学习(22)---Spring整合Hibernate准备
1.Spring整合Hibernate整合什么? 1.1 由IOC容器来管理Hibernate的SessionFactory 1.2 让Hibernate使用spring的声名式事务。2.整合步骤。 2.1 加入hibernate 2.1.1 jar包 2.2.2 添加hibernate的配置文件:hibernate....原创 2019-04-22 10:52:43 · 158 阅读 · 0 评论 -
Spring----学习(23)---在spring中使用hibernate的代码实例
1. Daopublic interface BookShopDao { public int findBookPriceByIsbn(String isbn); public void updateBookStock(String isbn); public void updateUserAccount(String username, int price);}2.DaoImp...原创 2019-04-22 14:42:53 · 130 阅读 · 0 评论 -
Spring----学习(24)---在web应用中使用spring(原理)
1. spring在web中的使用步骤。 1.1 jar包(必须的) spring-web-4.0.0.RELEASE.jar spring-webmvc-4.0.0.RELEASE.jar 1.2 配置文件相同。 1.3 创建IOC容器。 》》》非web应用直接在main方法中创...原创 2019-04-23 14:23:01 · 156 阅读 · 0 评论 -
Spring----学习(18)---JdbcTemplate的使用
1 简介。 1.1 为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架. 1.2 作为 Spring JDBC 框架的核心, JDBC 模板的设计目的是为不同类型的 JDBC 操作提供模板方法. 每个模板方法都能控制整个过程, 并允许覆盖过程中的特定任务. 通过这种方式, ...原创 2019-04-19 15:42:05 · 126 阅读 · 0 评论 -
Spring----学习(19)---在 JDBC 模板中使用具名参数
•在 SQL 语句中使用具名参数时, 可以在一个 Map 中提供参数值, 参数名为键•也可以使用 SqlParameterSource 参数•批量更新时可以提供 Map 或 SqlParameterSource 的数组spring bean配文件配置 NamedParameterJdbcTem<!-- 配置NamedParameterJdbcTem,该对象可以使用...原创 2019-04-19 16:34:23 · 294 阅读 · 0 评论 -
Spring----学习(21)---Spring声名式事务管理(依靠注解)
1.就是为了确保同一条记录在数据中的状态,记录的信息保持一致。例子: 一个用户,买了一本书,这时需要库存书-1,用户的账户余额 - 书的价格。 在没有添加事务的时候,如果库存够,但是用户余额不足。导致库存 - 1,但是因为余额不足,SQL执行失败, 此时应该回滚到库存 - 1 之前,但是由于没有事务管理。没有返回记录,所以导致数据库中的记录发生错误。2.spri...原创 2019-04-20 16:02:04 · 257 阅读 · 0 评论 -
Spring----学习(20)---Spring 中的事务管理
1.作为企业级应用程序框架, Spring 在不同的事务管理 API 之上定义了一个抽象层. 而应用程序开发人员不必了解底层的事务 管理 API, 就可以使用 Spring 的事务管理机制.2. Spring 既支持编程式事务管理, 也支持声明式的事务管理. 3. 编程式事务管理: 将事务管理代码嵌入到业务方法中来控制事务的提交和回滚. ...原创 2019-04-20 15:35:54 · 149 阅读 · 0 评论 -
Spring----学习(14)----前置通知 && 后置通知
•前置通知:在方法执行之前执行的通知•前置通知使用 @Before 注解, 并将切入点表达式的值作为注解值.•后置通知是在连接点完成之后执行的, 即连接点返回结果或者抛出异常的时候, 注意此时还无法获取目标方法的执行结果@Aspect@Componentpublic class Log { //前置通知:在目标方法之前执行 @Before("execution...原创 2019-04-02 17:12:46 · 394 阅读 · 0 评论 -
Spring----学习(13)----SpringAOP--Aspect基于注解的方式
1 AspectJ:Java 社区里最完整最流行的 AOP 框架.2 在 Spring2.0 以上版本中, 可以使用基于 AspectJ 注解或基于 XML 配置的 AOP3. 在 Spring 中启用 AspectJ 注解支持 •要在 Spring 应用中使用 AspectJ 注解, 必须在 classpath 下包含 AspectJ 类库: ...原创 2019-04-02 17:09:57 · 215 阅读 · 0 评论 -
ERR----spring----Pointcut is not well-formed: expecting ')' at character position
在联系Spring 项目时,遇到该问题。Caused by: java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting ')' at character position 12意思是,切入点设置格式不对。源代码: //前置通知:在目标方法之前执行@Before("execute(in...原创 2019-04-02 16:15:20 · 1176 阅读 · 0 评论 -
Spring----学习(2)----XML 配置Bean 自动装配
1.XML 配置里的 Bean 自动装配 1.1 Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 <bean> 的 autowire 属性里指定自动装配的模式 1.2 byName(根据名称自动装配): 必须将目标 Bean 的名称和属性名设置的完全相同. 1.3 byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean...原创 2019-03-30 11:17:36 · 122 阅读 · 0 评论 -
Spring----学习(3)----bean 之间的关系:继承 && 依赖
1 继承 Bean 配置 1.1 Spring 允许继承 bean 的配置, 被继承的 bean 称为父 bean. 继承这个父 Bean 的 Bean 称为子 Bean 1.2 子 Bean 从父 Bean 中继承配置, 包括 Bean 的属性配置 1.3 子 Bean 也可以覆盖从父 Bean 继承过来的配置 1.4 父 Bean 可以作为配置模板, 也可以作为...原创 2019-03-30 11:43:32 · 122 阅读 · 0 评论 -
Spring----学习(4)----bean 的作用域:singleton;prototype;WEB 环境作用域
Bean 的作用域•在 Spring 中, 可以在 <bean> 元素的 scope 属性里设置 Bean 的作用域. •默认情况下, Spring 只为每个在 IOC 容器里声明的 Bean 创建唯一一个实例, 整个 IOC 容器范围内都能共享该实例: 所有后续的 getBean() 调用和 Bean 引用都将返回这个唯一的 Bean 实例.该作用域被称为 single...原创 2019-03-30 11:53:36 · 150 阅读 · 0 评论 -
Spring----学习(5)----配置 bean之使用外部属性文件
1. 使用外部属性文件 1.1 在配置文件里配置 Bean 时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离 1.2 Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理...原创 2019-03-30 12:23:27 · 114 阅读 · 0 评论 -
Spring----学习(6)----SpEL
1 Spring表达式语言:SpEL 1.1 Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。 1.2 语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL 1.3 SpEL 为 bean 的属性进行动态赋值提供了便利 1.4 通过 SpEL 可以实现: ...原创 2019-03-30 13:33:43 · 111 阅读 · 0 评论 -
Spring----学习(7)----IOC 容器中 Bean 的生命周期
1.Spring IOC 容器可以管理 Bean 的生命周期, Spring 允许在 Bean 生命周期的特定点执行定制的任务. 2. Spring IOC 容器对 Bean 的生命周期进行管理的过程: –通过构造器或工厂方法创建 Bean 实例 –为 Bean 的属性设置值和对其他 Bean 的引用 –调用 Bean 的初始化方法...原创 2019-04-01 09:54:33 · 133 阅读 · 0 评论 -
Spring----学习(8)----调用静态工厂方法创建 Bean && 调用实例工厂方法创建 Bean
1.调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节.2. 要声明通过静态方法创建的 Bean, 需要在 Bean 的 class 属性里指定拥有该工厂的方法的类, 同时在 factory-method 属性里指定工厂方法的名称. 最后, 使用 <constrctor-ar...原创 2019-04-01 10:33:56 · 212 阅读 · 0 评论 -
Spring----学习(9)----实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean
1. Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. 2. 工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法所返回的对象 实现FactoryBean接口的java类//需要实现FactoryBean接口public class ...原创 2019-04-01 10:49:05 · 121 阅读 · 0 评论 -
Spring----学习(10)----通过注解配置bean
1.组件扫描(component scanning): Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 2. 特定组件包括:(添加注解) –@Component: 基本注解, 标识了一个受 Spring 管理的组件 –@Respository: 标识持久层组件 –@Service: ...原创 2019-04-01 13:16:53 · 141 阅读 · 0 评论 -
Spring----学习(11)----泛型依赖注入
泛型依赖注入 •Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用 BaseService<T> 和 BaseRepository<T>两个基类,BaseService<T>中有对BaseRepository<T>的引用。 UserSrevice在继承了BaseService&l...原创 2019-04-01 15:23:17 · 142 阅读 · 0 评论 -
Spring----学习(12)----SpringAOP(面向切面编程)基础
AOP 简介1. AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, + 面向对象编程) 的补充.2.AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点.3.在应用 AOP 编程时, 仍...原创 2019-04-02 15:21:20 · 137 阅读 · 0 评论 -
Spring----学习(1)----概述 && bean的配置
1.Spring 1.1 Spring 是一个开源框架. 1.2 Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. 1.3 Spring 是一个 IOC(DI) 和 AOP 容器框架. 1.4 具体描述 Spring: –轻量级:...原创 2019-03-30 10:35:58 · 106 阅读 · 0 评论