![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
汉德深-超
这个作者很懒,什么都没留下…
展开
-
Spring—连接数据库
1. 所需jar包所需jar包如下图:下载地址在:https://download.csdn.net/download/qq_35556254/112378622. 配置属性文档db.propertiesjdbc.user=rootjdbc.password=jdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdb...原创 2019-06-12 17:07:12 · 112 阅读 · 0 评论 -
Spring—Bean之间的关系
Spring直接的关系有两种:继承和依赖1. 继承Spring允许继承bean的属性,被继承的bean称为父bean,继承这个父bean的bean称为子bean 子bean从父bean中继承配置,包括bean的属性配置 子bean也可以覆盖从父bean继承过来的配置 父bean可以作为配置模板,也可以作为bean的实例,若只想把父bean作为模板,可以设置<bean>的a...原创 2019-06-09 14:44:55 · 221 阅读 · 0 评论 -
Spring—使用外部属性文件
使用外部属性文件在配置文件里配置Bean时,有时需要在Bean的配置里混入系统部署的细节信息,比如:文件路径,数据源配置信息等。而这些部署细节实际上需要和Bean配置相分离Spring提供了一个PropertyPlaceholderConfigurer的BeanFactory后置处理器,这个处理器允许用户将Bean配置的部分内容外移到属性文件中,可以在Bean配置文件里时选用形式为${va...原创 2019-06-09 15:50:08 · 156 阅读 · 0 评论 -
Spring—SpEL
Spring表达式语言——SpELSpring表达式语语言(简称SpEL)是一个支持运行时查询和操作对象图的强大的表达式语言。其为Bean的属性进行动态赋值提供了便利SpEL使用#{...}作为定界符,所有在大括号中的字符都将被认为是SpEL。通过SpEL可以实现:通过bean的id对bean进行引用 调用方法以及引用对象中的属性 计算表达式的值 正则表达式的匹配1. 字面...原创 2019-06-09 18:25:13 · 192 阅读 · 0 评论 -
Spring—IOC容器中Bean的生命周期方法
1. IOC容器中Bean的生命周期方法Spring IOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的服务具体管理的过程如下:通过构造器或工厂方法创建Bean实例 为Bean的属性设置值和对其它Bean的引用 调用Bean的初始化方法 开始使用Bean 当容器关闭时,调用Bean的销毁方法在Bean的声明里设置init-method和...原创 2019-06-09 19:15:05 · 157 阅读 · 0 评论 -
Spring—工厂方法配置Bean
1. 调用静态工厂方法创建Bean调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单地调用静态方法,而不用关心创建对象的细节要声明通过静态方法创建的Bean,需要在Bean的class属性里指定拥有该工厂的方法的类,同时在factory-method属性里指定工厂方法的名称,最后使用<constrctor-arg>元素为该方法传递方法...原创 2019-06-09 21:53:34 · 121 阅读 · 0 评论 -
Spring—泛型依赖注入
Spring 4.x的新特性:泛型依赖注入Spring 4.x中可以为子类注入子类对应的泛型类型的成员变量的引用。以下面这个UML图为例首先最顶上有两个基类:BaseService类和BaseRepository类,都是带泛型的。BaseService类有子类:UserService类和RoleService类;BaseRepository类有子类:UserRepository类和...原创 2019-06-09 22:14:33 · 158 阅读 · 0 评论 -
Spring—AOP
1. 前奏:现在我们有一个UML图如下:还有两个需求:在程序执行期间追踪正在发生的活动 希望计算器只能处理正数的运算1.1 普通java方法那么用普通java的实现方法如下:新建一个Calculator接口:public interface Calculator { int add(int i, int j); int sub(int i, int j);...原创 2019-06-10 17:12:40 · 146 阅读 · 0 评论 -
Spring—AspectJ注解实现通知
1. 在Spring中启用AspectJ注解支持步骤如下:要在Spring应用中使用AspectJ注解,必须在classpath下包含AspectJ类库:aopalliance.jar, aspectj.weaver.jar,spring-aspects.jar和spring-aop.jar 将aop Scema添加到<beans>根元素中 要在Spring IOC容器...原创 2019-06-10 21:06:36 · 244 阅读 · 0 评论 -
Spring—自动装配
XMl配置里的Bean自动装配Spring IOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的形式。有以下几种类型:byType(根据类型自动装配):若IOC容器中有多个与目标Bean类型一致的Bean,在这种情况下,Spring将无法判断哪个Bean最合适该属性,所以不能执行自动装配 byName(根据名称自动装配):必须将目...原创 2019-06-09 14:12:47 · 85 阅读 · 0 评论 -
Spring—属性配置细节2
这次我们接着上次讲的集合属性开始:1. 配置Map属性Java.util.Map通过<map>标签定义,<map>标签里可以使用多个<entry>作为子标签,每个条目包含一个键和一个值 必须在<key>标签里定义键 因为键和值的类型没有限制,所以可以自由地为它们指定<value>,<ref>,<bean>...原创 2019-06-08 17:50:56 · 177 阅读 · 0 评论 -
Spring学习笔记—Spring tool suite的安装
1. 下载STS的离线版本提供一个链接来给你们下载吧:https://blog.csdn.net/qq6759/article/details/90761650在下载的时候一定要注意STS的版本一定要和你的eclipse的版本对应,查找eclipse版本的方法为:打开eclipse,点击“help”,再点击“About eclipse IDE”就可以查看自己eclipse的版本了至于S...原创 2019-06-06 18:15:01 · 5145 阅读 · 0 评论 -
Spring—Hello World
安装好SST之后,我们开始来利用Spring写一个Hello World程序。1. 不用Spring的写法新建project->新建“com.spring.beans”包->新建“HelloWorld”和“Main”两个类在HelloWorld.java中输入以下代码:package com.spring.beans;public class HelloWorld...原创 2019-06-06 19:19:14 · 836 阅读 · 0 评论 -
Spring—IOC和DI
1. IOC(Inversion of Control)IOC思想是反转资源获取的方向。传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源。而应用了IOC之后,则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源。这种行为也被称为查找的被动形式。举个例子,没有IOC的时候,我们要主动的去菜市场买菜;应用IOC之后只需要在自家院子...原创 2019-06-06 19:41:24 · 86 阅读 · 0 评论 -
Spring—配置Bean
1. 在IOC容器里配置Bean这是上一篇文章中,配置Bean的代码。以及HelloWorld和Main两个类<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/200...原创 2019-06-06 22:40:37 · 91 阅读 · 0 评论 -
Spring—属性配置细节1
1. 字面值字面值是指可用字符串表示的值,可以通过<value>元素标签或value属性进行注入。 基本数据类型及其封装类,String等类型都可以采用字面值的注入方式。比如:<bean id="car" class="com.spring.beans.Car"> <constructor-arg value="Audi" index="0">...原创 2019-06-06 23:53:53 · 237 阅读 · 0 评论 -
Spring—事务1
1. 事务简介事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性 事务就是一系列的动作,它们被当做一个单独的工作单元,这些动作一系列的动作要么全部完成,要么全部不起作用 事务的四个关键属性(ACID)原子性(atomicity):事务一个原子操作,由一系列的动作组成,原子性确保动作要么全部完成,要么全部不起作用 一致性(consistency):一旦所有...原创 2019-06-13 16:21:50 · 189 阅读 · 0 评论 -
Spring—事务2
1. 事务传播行为当事务方法被另一个事务方法调用时,必须制定事务应该如何传播,例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。事务的传播行为可以由传播属性指定,Spring定义了7种类传播行为REQUIRED:如果有事务在运行,当前的方法就在这个事务内运行,否则,就启动一个新的事务,并在自己的事务内运行 REQUIRED_NEW:当前的方法必须启动新事物,...原创 2019-06-13 17:36:18 · 306 阅读 · 0 评论 -
Spring—事务3(基于XML配置的方式配置事务)
1. 代码准备在事务2那篇博客的代码基础上进行修改,删除所有注解,并在一些类里面添加set()方法:修改如下:public interface BookShopDao { //根据书号获取书的单价 public int findBookPriceByIsbn(String isbn); //更新书的库存,使书的库存-1 public void updateBookSt...原创 2019-06-13 20:31:52 · 264 阅读 · 0 评论 -
Spring—基于XML方式配置AOP实现通知
1. 新建Calculator接口:public interface Calculator { int add(int i, int j); int sub(int i, int j); int mul(int i, int j); int div(int i, int j);}2. 新建CalculatorImpl类实现接口:public class Calc...原创 2019-06-11 13:44:00 · 190 阅读 · 0 评论