![](https://img-blog.csdnimg.cn/20181118172312905.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring
文章平均质量分 59
^-^小白学习sping框架的小笔记*-*
etron_jay
自信满满地让自己的自信满满
展开
-
spring_(28)Spring_在 WEB 应用中使用 Spring
Spring 如何在 WEB 应用中使用 ?1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jar spring-webmvc-4.0.0.RELEASE.jar2). Spring 的配置文件, 没有什么不同3). 如何创建 IOC 容器 ? ①. 非 WEB 应用在 main 方法中直接创建 ②. 应该在 WEB 应用被服务器加载时就...原创 2018-12-09 17:43:18 · 103 阅读 · 0 评论 -
spring_(27)Spring_在 WEB 应用中使用 Spring 的基本思路md
Spring如何在WEB应用中使用?spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE.jarSpring的配置文件,没有什么不同如何创建IOC容器非WEB应用在main方法中直接创建应该在WEB应用被服务器加载时就创建IOC容器:在ServletContextListener#contextInitialize...原创 2018-12-09 17:08:16 · 192 阅读 · 2 评论 -
spring_(26)Spring_使用XML文件的方式配置事务
例子程序基本结构db.propertiesjdbc.user=rootjdbc.password=etronjdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql:///springjdbc.initPoolSize=5jdbc.maxPoolSize=50BookShopDao.javapackage...原创 2018-12-09 14:45:59 · 215 阅读 · 0 评论 -
spring_(25)Spring_事务其他属性(隔离级别&回滚&只读&过期)
并发事务所导致的问题当同一个应用程序或者不同应用程序中的多个事务在同一个数据集上并发执行时,可能会出现许多意外的问题并发事务所导致的问题可以分为下面三种类型:脏读:对于两个事务T1,T2,。T1读取了已经被T2更新但还没有被提交的字段。之后,若T2回滚,T1读取的内容就是临时且无效的。不可重复读:对于两个事务T1,T2, T1读取了一个字段,然后T2更新了该字段。之后,T1再次读取同一...原创 2018-12-08 15:48:39 · 124 阅读 · 0 评论 -
spring_(24)Spring_事务传播属性
当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务汇总运行。事务的传播行为可以由传播属性指定。Spring定义了7种类传播行为Sping支持的事务传播行为传播属性描述REQUIRED如果有事务在运行,当前的方法就在这个事务内运行,否则,就启动一个新的事务,并在自己的事务内运行。R...原创 2018-12-08 15:18:34 · 149 阅读 · 0 评论 -
spring_(23)Spring_事务准备和声明式事务md
事务简介事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性。事务就是一系列的动作,它们被当做一个单独的工作单元。这些动作要么全部完成,要么全部不起作用。事务的四个关键属性(ACID)原子性(atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成要么完全不起作用。一致性(consistency):一旦所有事务动作完成,事务就...原创 2018-12-08 13:04:22 · 142 阅读 · 0 评论 -
spring_(22) Spring__使用 NamedParameterJdbcTemplate
例子程序基本结构db.propertiesjdbc.user=rootjdbc.password=etronjdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql:///spring4jdbc.initPoolSize=5jdbc.maxPoolSize=50Department.javapackage...原创 2018-12-06 20:38:17 · 233 阅读 · 0 评论 -
spring_(21)Spring _使用 JdbcTemplate和JdbcDaoSupport
JDBC Template简介为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架.作为SpringJDBC框架的核心,JDBC模板的设计目的是为不同类型的JDBC操作提供模板方法。每个模板都能控制整个过程,并允许覆盖过程中的特定任务。通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低。使用JDBCTemp...原创 2018-12-04 11:25:39 · 163 阅读 · 0 评论 -
spring_(20)Spring _基于配置文件的方法来配置AOP
例子程序基本结构ArithmeticCalculator.javapackage com.spring.aop.xml;public interface ArithmeticCalculator { int add(int i, int j); int sub(int i, int j); int mul(int i, int j); int div...原创 2018-12-02 17:01:21 · 259 阅读 · 0 评论 -
spring_(19)Spring _重用切点表达式md
例子程序基本结构ArithmeticCalculator.javapackage com.spring.aop;public interface ArithmeticCalculator { int add(int i, int j); int sub(int i, int j); int mul(int i, int j); int div(int...原创 2018-12-02 13:17:26 · 151 阅读 · 0 评论 -
spring_(18)Spring _返回通知&异常通知&环绕通知
例子程序基本结构ArithmeticCalculator.javapackage com.spring.aop;public interface ArithmeticCalculator { int add(int i, int j); int sub(int i, int j); int mul(int i, int j); int div(int...原创 2018-11-27 15:50:37 · 194 阅读 · 0 评论 -
spring_(17)Spring_后置通知与前置通知
后置通知后置通知是在连接点完成之后执行的,即连接点返回结果或者抛出异常的时候,下面的后置通知记录了方法的终止。一个切面可以包括一个或者多个通知例子程序基本结构ArithmeticCalculator.javapackage com.spring.aop.impl;public interface ArithmeticCalculator { int add(int ...原创 2018-11-27 14:53:39 · 264 阅读 · 0 评论 -
spring_(16) Spring_前置通知
AspectJ:Java社区里最完整最流行的AOP框架。在Spring2.0以上版本中,可以使用基于AspectJ注解或基于XML配置的AOP在Spring中启用AspectJ注解支持要在Spring应用中使用AspectJ注解,必须在classpath下包含AspectrJ类库:aopalliance.jar、aspectj.weaver.jar、和spring-aspects.ja...原创 2018-11-26 21:52:42 · 200 阅读 · 0 评论 -
spring_(15) AOP 相关基础(AOP简介) 之二
AOP简介AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统OOP(Object-Oriented Programming,面向对象编程)的补充AOP的主要编程对象是切面(aspect),而切面模块化横切关注点.在应用AOP编程时,仍然需要定义公共功能,但可以明确的定义这个功能在哪里,以什么方式应用,并且不必修改受影响的类.这样一来横...原创 2018-11-22 17:12:55 · 132 阅读 · 0 评论 -
spring_(15) AOP 相关基础之一(动态代理解决问题)
IOC和AOP是Spring的两大基石。AOP前奏代码实现片段问题代码混乱:越来越多的非业务需求(日志和验证等)加入后,原有的业务方法急剧膨胀。每个方法在处理核心逻辑的同时还必须兼顾其他多个关注点代码分散:以日志需求为例,只是为了满足这个单一需求,就不得不在多个模块(方法)里多次重复相同的日志代码。如果日志需求发生变化,必须修改所有模块使用动态代理解决上述问题(开发不建议使用,...原创 2018-11-22 16:46:58 · 287 阅读 · 0 评论 -
spring_(14)泛型依赖注入
Spring4.x中可以为子类对应的泛型类型的成员变量的引用例子程序基本结构BaseRepository.javapackage com.spring.beans.generic.di;public class BaseRepository<T> {}BaseService.javapackage com.spring.beans.generic.di;...原创 2018-11-21 08:57:46 · 131 阅读 · 2 评论 -
spring_(13)通过注解配置之二
组件装配< context:component-scan >元素还会自动注册AutowiredAnnotationBeanPostProcessor实例,该实例可以自动装配具有@Autowired和@Resource、@Inject注解的属性@Autowired注解自动装配具有兼容类型的单个Bean属性构造器,普通字段(即使是非public),一切具有参数的方法都可以应...原创 2018-11-19 19:56:06 · 212 阅读 · 0 评论 -
spring_(13)通过注解配置之一
在classpath中扫描组件组件扫描(component scanning):Spring 能够从classpath下自动扫描,侦测和实例化具有特定注解的组件.特定组件包括:@Component:基本注解,标识了一个受Spring管理的组件@Respository:标识持久层组件@Service:标识服务层(业务层)组件@Controller:标识表现层组件 UserSer...原创 2018-11-19 13:58:05 · 118 阅读 · 0 评论 -
spring_(12)通过 FactoryBean 配置Bean
为什么需要这个东西因为我们有的时候在配置一个bean的时候,我们需要用到IOC容器里面的其他bean,这个时候通过FactoryBean去配置是最合适的例子程序基本结构Car.javapackage com.spring.beans.factorybean;public class Car { private String brand; private doubl...原创 2018-11-18 22:14:57 · 143 阅读 · 0 评论 -
spring_(11)通过工厂方法配置Bean
通过调用静态工厂方法创建Bean调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不必关心创建对象的细节要声明通过静态方法创建的Bean,需要在Bean的class属性里指定拥有该工厂的方法的类,同时在factory-method属性里指定工厂方法的名称。最后,使用元素为该方法传递方法参数。通过调用实例工厂方法创建Bean...原创 2018-11-18 17:13:03 · 162 阅读 · 0 评论 -
spring_(10)IOC容器中Bean的生命周期
SpringIOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务SpringIOC容器对Bean的生命周期进行管理的过程:通过构造器或工厂方法创建Bean实例为Bean的属性设置值和对其他Bean的引用调用Bean的初始化方法Bean可以使用了当容器关闭时,调用Bean的销毁方法在Bean的声明里设置 init-method 和 de...原创 2018-11-18 16:07:54 · 485 阅读 · 0 评论 -
spring_(9)Spring表达式语言 SpEL
SpELSpring表达式语言(简称SpEL) : 是一个支持运行时查询和操作对象图的强大的表达式语言。语法类似于EL : SpEL使用 #{…}作为定界符,所有在大框号中的字符都将被认为是SpELSpEL为bean的属性进行动态赋值提供了便利通过SpEL可以实现:通过bean的id对bean进行引用调用方法以及引用对象中的属性计算表达式的值正则表达式的匹配SpEL:字...原创 2018-11-17 14:08:22 · 136 阅读 · 0 评论 -
spring_(8)使用外部属性文件
spring_(8)使用外部属性文件在配置文件里配置Bean时,有时需要在Bean的配置里混入系统部署的细节信息(例如:文件路径,数据源配置信息等).而这些部署细节实际上需要和Bean配置相分离.Spring提供了一个PropertyPlaceholderConfigurer的BeanFactory后置处理器,这个处理器允许用户将Bean配置的部分外移到属性文件中.可以在Bean配置文件里使...原创 2018-11-17 11:28:06 · 136 阅读 · 0 评论 -
spring_(7)bean的作用域
这一小节讲的是,当你在xml配置了一个bean,Main.java中创建两个这个对象时,这两个对象时一样的,也就是demo1==demo2 为 true.原因在于配置bean的时候 属性scope默认为singleton,假设改为prototype,这两个对象将不再相等demo1==demo2 为 false例子程序基本结构Car.javapackage com.spri...原创 2018-11-17 10:29:19 · 128 阅读 · 0 评论 -
spring_(6)bean之间的关系之继承和依赖
Bean的继承**Spring允许继承bean的配置,**被继承的bean称为父bean。继承这个父Bean的Bean称为子Bean.子Bean从父Bean中继承配置,包括Bean的属性配置.子Bean也可以覆盖从父Bean继承过来的配置.父Bean可以作为配置模板,也可以作为Bean实例.若只想把父Bean作为模板,可以设置的abstracts属性为true,这样Spring将不会实例...原创 2018-11-16 19:22:00 · 102 阅读 · 0 评论 -
spring_(5)XML配置里的Bean自动装配
SpringIOC容器可以自动装配Bean.需要做的仅仅是在的autowire属性里指定自动装配的模式byType(根据类型自动装配):若IOC容器中有多个与目标Bean类型一致的Bean.在这种情况下,Spring将无法判定哪个Bean最适合该属性,所以不能执行自动装配byName(根据名称自动装配):必须将目标Bean的名称和属性名设置的完全相同constructor(通过构造器自动装...原创 2018-11-15 19:00:09 · 208 阅读 · 0 评论 -
Spring_(4)属性配置细节之二
集合属性在Spring中可以通过一组内置的xml标签(例如:,或)来配置集合属性。配置java.util.List类型的属性,需要指定标签,在标签里包含一些元素,这些标签可以通过指定简单的常量值,通过指定对其他Bean的引用,通过指定内置Bean定义。通过指定空元素,甚至可以内嵌其他集合。数组的定义和List一样,都使用。配置java.util.Set需要使用标签,定义元素的方法与Lis...原创 2018-11-14 20:51:13 · 155 阅读 · 0 评论 -
Spring_(4)属性配置细节之一
Spring_(4)属性配置细节字面值字面值:可用字符串表示的值,可以通过元素标签或value属性进行注入。基本数据类型及其封装类、String等类型都可以采取字面值注入的方式。若字面值中包含特殊字符,可以使用&lt;![CDATA[[这里填特殊字符]]&gt;把字面值包裹起来。引用其他Bean组成应用程序的Bean经常需要相互协作以完成应用程序的功能。要使Bean能够相互访问,...原创 2018-11-14 18:08:15 · 139 阅读 · 0 评论 -
Spring_(3)通过xml配置bean+创建对象
先来看整体项目的结构HelloWorld.javapackage com.spring.beans;public class HelloWorld { private String name; public void setName(String name){ System.out.println("setName"+name); thi...原创 2018-11-14 16:58:10 · 637 阅读 · 0 评论 -
Spring_(2)IOC&DI概述
IOC:其思想是反转资源获取的方向。传统的资源查找方式要求组件向容器发起请求查找资源。作为回应,容器适时的返回资源,而应用了IOC之后,则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源。这种行为也被成为查找的被动形式DI——IOC的另一种表达方式:即组件以一些预先定义好的方式(例如:setter方法)接受来自如容器的资源注入.相对于IOC而言,这种表述更直...原创 2018-11-13 12:16:38 · 185 阅读 · 0 评论