spring
平凡的L同学
个人感兴趣的方向:云计算网络,SDN,网络操作系统,量子通信,机器学习,欢迎讨论。
展开
-
十七JdbcTemplate二
前面讲了利用JdbcTemplate 更新数据库的操作,下面来记录一下查询数据库的操作~1.查询单行在mysql中创建一个users表:创建一个Employee类里边的几个属性如下: private Integer id; private String lastName; private String email; private Site sit原创 2017-04-17 22:55:41 · 364 阅读 · 0 评论 -
十三Spring Aop以及AspectJ框架的使用一
AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) 的补充.AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点.在应用 AOP 编程时, 仍然需要定义公共功能, 但可以明确的定义这个功能在哪里, 以什么方式应用, 并且不必修改受原创 2017-04-14 20:59:26 · 420 阅读 · 0 评论 -
十四Spring Aop以及AspectJ框架的使用二
前面简单的介绍了一下@Before注解的使用,其实AspectJ支持5种类型的通知注解:@Before: 前置通知, 在方法执行之前执行@After: 后置通知, 在方法执行之后执行 @AfterReturning: 返回通知, 在方法返回结果之后执行@AfterThrowing: 异常通知, 在方法抛出异常之后@Around: 环绕通知, 围绕着方法执行下面我们来详细介绍一下下原创 2017-04-14 22:58:03 · 438 阅读 · 0 评论 -
事务以及Spring中的事务管理一
首先讲一下事务的概念,事务就是一系列的动作,它们被当做一个单独的工作单元.这些动作要么全部完成,要么全部不起作用事务的四个关键属性(ACID)–原子性(atomicity):事务是一个原子操作,由一系列动作组成.事务的原子性确保动作要么全部完成要么完全不起作用.–一致性(consistency):一旦所有事务动作完成,事务就被提交.数据和资源就处于一种满足业务规则的一致原创 2017-04-19 17:08:10 · 419 阅读 · 0 评论 -
spring 配置<context:component-scan base-package=” ”/>
原文地址:http://blog.csdn.net/jiangxindu1/article/details/46484441在context中配置如:在base-package指明一个包:表明cn.gacl.java包及其子包中,如果某个类的头上带有特定的注解@Component,@Repository,@Service,@Controller,就会将这转载 2017-05-01 17:08:43 · 1436 阅读 · 0 评论 -
事务以及Spring中的事务管理二
下面来看一下Spring到底是如何管理事务的。先来看一下概念:作为企业级应用程序框架, Spring 在不同的事务管理 API 之上定义了一个抽象层.而应用程序开发人员不必了解底层的事务管理API,就可以使用Spring的事务管理机制.Spring 既支持编程式事务管理,也支持声明式的事务管理.编程式事务管理: 将事务管理代码嵌入到业务方法中来控制事务的提交和回滚.在编程式管理事务原创 2017-04-19 22:05:51 · 466 阅读 · 0 评论 -
Spring中事务的传播行为
当事务方法被另一个事务方法调用时,必须指定事务应该如何传播.例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行.事务的传播行为可以由传播属性指定.Spring定义了 7 种类传播行为.创建一个Cashier类:@Repositorypublic class CashierImp implements Cashier { @Autowire原创 2017-04-19 23:36:59 · 585 阅读 · 0 评论 -
十五Spring Aop的xml配置方式
除了使用 AspectJ 注解声明切面, Spring 也支持在 Bean 配置文件中声明切面. 这种声明是通过 aop schema 中的 XML 元素完成的.正常情况下, 基于注解的声明要优先于基于 XML 的声明.通过 AspectJ 注解, 切面可以与 AspectJ 兼容, 而基于 XML 的配置则是 Spring 专有的. 由于 AspectJ 得到越来越多的 AOP 框架支持,原创 2017-04-16 16:54:50 · 2090 阅读 · 0 评论 -
@Transactiona注解的使用
当同一个应用程序或者不同应用程序中的多个事务在同一个数据集上并发执行时,可能会出现许多意外的问题并发事务所导致的问题可以分为下面三种类型:脏读: 对于两个事物T1,T2, T1 读取了已经被T2更新但还没有被提交的字段.之后,若T2回滚,T1读取的内容就是临时且无效的.不可重复读:对于两个事物T1,T2, T1 读取了一个字段,然后T2更新了该字段.之后,T1再原创 2017-04-20 16:20:18 · 3903 阅读 · 0 评论 -
十六 JdbcTemplate一
为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, JDBC 模板的设计目的是为不同类型的 JDBC 操作提供模板方法. 每个模板方法都能控制整个过程, 并允许覆盖过程中的特定任务. 通过这种方式, 可以在尽可能保留灵活性的情况下, 将数据库存取的工作量降到最低.原创 2017-04-16 23:48:03 · 358 阅读 · 0 评论 -
Spring整合Hibernate
首先需要在Maven中导入如下的依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h原创 2017-04-21 17:24:25 · 492 阅读 · 0 评论 -
REST风格概述
REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位符)指向它原创 2017-04-26 22:42:04 · 608 阅读 · 0 评论 -
Spring思维导图,让Spring不再难懂(ioc篇)
原文地址:https://my.oschina.net/u/3080373/blog/903341?ref=myread写过java的都知道:所有的对象都必须创建;或者说:使用对象之前必须先创建。而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象。就好像我们无需考虑对象的销毁回收一样,因为java垃圾回收机制帮助我们实现了这个过程;而ioc则是让我们无需考虑对象转载 2017-05-20 10:58:47 · 589 阅读 · 0 评论 -
SSM框架集成
首先看一下项目的目录结构:在maven中导入如下的依赖: junit junit ${junit.version} test org.springframework spring-context 4.3.7.RELEASE原创 2017-05-21 22:22:49 · 895 阅读 · 0 评论 -
十八JdbcTemplate具名参数的使用
在 SQL 语句中使用具名参数时, 可以在一个 Map 中提供参数值, 参数名为键也可以使用 SqlParameterSource 参数批量更新时可以提供 Map 或 SqlParameterSource 的数组。ex:首先我们需要在配置文件中配置namedParameterJdbcTemplate必须为这个对象的构造器指定一个参数,下面是具体的配置代码原创 2017-04-18 16:54:25 · 2249 阅读 · 0 评论 -
Spring Aop中的advisor、advice、pointcut
pointcut表示指的是程序运行中的某个阶段点,如某个方法调用、异常抛出等。Pointcut是Join Point的集合,它是程序中需要注入Advice的位置的集合,指明Advice要在什么样的条件下才能被触发。spring中有3种pointcut,具体如下:1 静态切入点 静态切入点只限于给定的方法和目标类,而不考虑方法的参数。Spring在调用静态切入点时只在第一次的时候计算静态原创 2017-04-28 15:13:24 · 5009 阅读 · 0 评论 -
十二泛型依赖注入
建立如下的几个类:public class BaseService { @Autowired private BaseRepository repository; public void add(){ System.out.println("add..."); System.out.println(repository); }}原创 2017-04-13 22:48:32 · 714 阅读 · 0 评论 -
十一注解方式配置Bean
Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 特定组件包括:@Component: 基本注解, 标识了一个受 Spring 管理的组件 @Respository: 标识持久层组件@Service: 标识服务层(业务层)组件@Controller: 标识表现层组件 对于扫描到的组件, Spring 有默认的命名策略:原创 2017-04-13 22:00:28 · 420 阅读 · 0 评论 -
九调用工厂方法实现Bean
1.静态工厂方法:调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节.要声明通过静态方法创建的 Bean, 需要在 Bean 的 class 属性里指定拥有该工厂的方法的类, 同时在 factory-method 属性里指定工厂方法的名称.最后, 使用 元素为该方法传递方法参数原创 2017-04-13 16:25:48 · 340 阅读 · 0 评论 -
十通过FactoryBean对Bean进行配置
Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. 工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法所返回的对象 ex:首先创建一个类实现FactoryBean()这个接口,并且实现其中的方法:public class CarF原创 2017-04-13 16:49:12 · 327 阅读 · 0 评论 -
八Bean的生命周期
Spring IOC 容器可以管理 Bean 的生命周期, Spring 允许在 Bean 生命周期的特定点执行定制的任务. Spring IOC 容器对 Bean 的生命周期进行管理的过程: 1.通过构造器或工厂方法创建 Bean 实例为 Bean 的属性设置值和对其他 Bean 的引用2.调用 Bean 的初始化方法 3.Bean 可以使用了 4.当容器关闭原创 2017-04-13 15:33:51 · 302 阅读 · 0 评论 -
七SpEl表达式
语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL通过 SpEL 可以实现:通过 bean 的 id 对 bean 进行引用 调用方法以及引用对象中的属性 计算表达式的值正则表达式的匹配 ex:配置一个bean,并赋上字面值:SpEl的基本操作:<beans xmlns="http://www.s原创 2017-04-12 23:44:21 · 415 阅读 · 0 评论 -
六properties属性文件的使用
在配置文件里配置 Bean 时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离 。Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将 Bean 配置的部分内容外移到属性文件中. 可以在 Bean 配原创 2017-04-12 17:56:40 · 435 阅读 · 0 评论 -
五bean之间的继承与依赖
Spring 允许继承 bean 的配置, 被继承的 bean 称为父 bean. 继承这个父 Bean 的 Bean 称为子 Bean 子 Bean 从父 Bean 中继承配置, 包括 Bean 的属性配置子 Bean 也可以覆盖从父 Bean 继承过来的配置父 Bean 可以作为配置模板, 也可以作为 Bean 实例. 若只想把父 Bean 作为模板, 可以设置 的abstrac原创 2017-04-11 22:37:38 · 349 阅读 · 0 评论 -
四bean的自动装配
Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 的 autowire 属性里指定自动装配的模式 byType(根据类型自动装配):若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring 将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配.byName(根据名称自动装配): 必须将目标 Bean 的名原创 2017-04-11 16:12:34 · 314 阅读 · 0 评论 -
三Spring中的Bean配置基础2
字面值:可用字符串表示的值,可以通过 元素标签或 value 属性进行注入。基本数据类型及其封装类、String 等类型都可以采取字面值注入的方式若字面值中包含特殊字符,可以使用 把字面值包裹起来。原创 2017-04-09 23:38:37 · 384 阅读 · 0 评论 -
三Spring中Bean的基础配置1
配置bean的方式通常有2种:1.通过XML方式进行配置2.通过注解的方式进行配置还是举上边的那个例子: class:bean的全类名,通过反射的方式在IOC容器中创建Bean,所以Bean总必须有无参数的构造器id:表示容器中的bean,id值唯一Spring 提供了两种类型的 IOC 容器实现. BeanFactory: IOC原创 2017-04-09 21:00:09 · 396 阅读 · 0 评论 -
二Spring基础
具体描述 Spring:轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API依赖注入(DI --- dependency injection、IOC)面向切面编程(AOP --- aspect oriented programming)容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期框架:原创 2017-04-09 16:46:46 · 399 阅读 · 0 评论 -
一环境搭建
首先创建Maven项目:创建完成后的目录结构:在maven中导入spring的依赖: org.springframework spring-context 4.2.6.RELEASE 好像没有applicationContext.xml文件?直接创建一个:添加以下的代码即可:<beans xmln原创 2017-04-06 11:35:18 · 340 阅读 · 0 评论 -
Spring通过ApplicationContext主动获取bean
原文地址:http://blog.csdn.net/jinzhencs/article/details/51673782问题1: 有个异步线程Runnable里面需要用到dao,无法通过AutoWired和compoment注解传递进来。 于是希望通过spring context主动去获取bean。问题2: getBean(name)获取失败。 解决: 默认的dao的name=类名(首字母小写) ...转载 2017-06-12 17:06:29 · 11957 阅读 · 1 评论