
Spring
文章平均质量分 68
吴声子夜歌
个人学习记录
展开
-
Spring注解--AOP
目标方法:package pers.zhang.aop;public class MathCalculator { public int div(int i, int j){ System.out.println("MathCalculator...div..."); return i / j; }}切面类:package pers...原创 2019-12-02 19:51:16 · 269 阅读 · 0 评论 -
Spring注解--@Profile
@ProfileProfile的意思是配置,对于应用程序来说,不同的环境需要不同的配置。比如:开发环境,应用需要连接一个可供调试的数据库单机进程生产环境,应用需要使用正式发布的数据库,通常是高可用的集群测试环境,应用只需要使用内存式的模拟数据库Spring框架提供了多profile的管理功能,我们可以使用profile功能来区分不同环境的配置示例配置类:package per...原创 2019-12-02 17:46:49 · 407 阅读 · 0 评论 -
Spring注解--@Value、@PropertySource
Beanpackage pers.zhang.bean;import org.springframework.beans.factory.annotation.Value;public class Person { //使用@Value赋值 //1. 基本数值 //2. SpEL: #{} //3. ${}:取出配置文件中的值(在运行环境中的值) ...原创 2019-12-01 19:19:55 · 256 阅读 · 0 评论 -
Spring注解--管理Bean生命周期的5种方式
管理Bean生命周期使用XML文件配置: init-method和destroy-method使用@Bean注解: 通过@Bean指定init-method和destroy-method实现InitializingBean、DisposableBean: 让Bean实现InitializingBean(定义初始化逻辑),实现DisposableBean(销毁逻辑)使用@PostConst...原创 2019-12-01 18:44:39 · 903 阅读 · 0 评论 -
Spring注解--使用FactoryBean注册组件
FactoryBean使用Spring提供的FactoryBean接口注册组件:默认获取到的是工厂bean调用getObject()创建的对象要获取工厂本身,需要在id前面加上一个“&”package org.springframework.beans.factory;public interface FactoryBean<T> { //容器调用该方法,将返...原创 2019-12-01 16:56:34 · 401 阅读 · 0 评论 -
Spring注解--@Conditional、@Import详解
@Conditional按照一定条件进行判断,满足条件给容器注册Bean参数:Condition数组写在方法上:示例:根据操作系统注册Bean @Conditional(WindowsCondition.class)//判断条件 @Bean("bill")//windows系统注册该Bean public Person person01(){ return...原创 2019-12-01 16:24:39 · 842 阅读 · 0 评论 -
Spring注解--@Scope、@Lazy
@Scope@Scope默认是单例模式,即scope=“singleton”。另外scope还有prototype、request、session、global session作用域。scope="prototype"多例例:@scope默认是单例模式(singleton)即:@scope(“prototype”)1.singleton单例模式,全局有且仅有一个实例2.prototyp...原创 2019-11-30 21:21:16 · 397 阅读 · 0 评论 -
Spring注解--@Configuration、@Bean、@ComponentScan的过滤规则FilterType详解
@Configuration和@Bean从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器...原创 2019-11-30 20:01:19 · 2401 阅读 · 1 评论 -
Spring--JDBCTemplate常用方法使用
JDBCTemplateexecute(String sql):能够完成执行SQL语句的功能。update(): 可以完成插入、更新和删除操作,有多个重载方法int update(String sql):该方法是最简单的update形式,可以直接传入SQL语句并返回受影响的行数int update(preparedStatementCreator psc):该方法 执行从prep...原创 2019-11-24 09:39:17 · 1854 阅读 · 0 评论 -
MyBatis--与Spring的整合步骤
导入相关JAR包1)MyBatis 框架所需的 JAR 包MyBatis 框架所需的 JAR 包包括它的核心包和依赖包。2)Spring 框架所需的 JAR 包Spring 框架所需的 JAR 包包括它的核心模块 JAR、AOP 开发使用的 JAR、JDBC 和事务的 JAR 包(其中依赖包不需要再导入,因为 MyBatis 已提供),具体如下:aopalliance-1.0.jar...原创 2019-10-29 15:29:29 · 730 阅读 · 0 评论 -
Spring--IoC容器BeanFactory和ApplicationContext
IoC又叫依赖注入。它描述了对象的定义和依赖的一个过程,也就是说,依赖的对象通过构造参数、工厂方法参数或者属性注入,当对量实例化后依赖的对象才被创建,当创建bean后容器注入这些依赖对象。这个过程基本上是反向的,因此命名控制反转(IoC),它通过直接使用构造类控制实例化,或者定义它们之间的依赖关系,或者类似于服务定位模式的一种机制。org.springframework.beans和org.sp...原创 2019-10-07 23:04:17 · 618 阅读 · 0 评论 -
Spring--AOP事务管理(xml方式与注解方式)和编码式事务管理(举例说明)
[例] 完成一个转账的功能,需要进行事务的管理,使用 Spring 的事务管理的方式完成。1. 创建一个账户表 t_account,并插入测试数据DROP TABLE IF EXISTS `t_account`;CREATE TABLE `t_account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DE...原创 2019-08-29 00:26:19 · 1041 阅读 · 0 评论 -
Spring--三种对象创建方式
第一种方式:空参构造创建对象最基本的对象创建方式,只需要有一个无参构造函数和字段的set方法。本质上就是使用无参构造器创建对象,然后使用set方法为字段赋值。User类:public class User { public User() { System.out.println("User对象空参构造方法!!!!"); } private String name; priva...原创 2019-08-24 21:04:25 · 1172 阅读 · 0 评论 -
Spring--四种属性注入方式和复杂类型注入(数组、List、Map、prperties)详解
第一种:set方法注入首先创建两个实体类 Car 和 User:package pers.zhang.bean;public class Car { private String name; private String color; public String getName() { return name; } public void setName(String ...原创 2019-08-25 01:08:55 · 2235 阅读 · 0 评论 -
Spring--注解配置(@Component,@Scope,@PostConstruct,@PreDestroy,@Value,@Autowired,@Qualifier,@Resource)
Spring注解配置从 Spring 2.5 开始就可以使用注解来配置依赖注入。使用注解的方式使我们无需在XML中配置一个Bean引用,更加简单和方便。首先要引入context名称空间:xmlns:context="http://www.springframework.org/schema/context" 声明context命名空间后,即可通过context命名空间的component...原创 2019-08-25 23:35:10 · 1427 阅读 · 0 评论 -
Spring--整合JUnit测试
Spring的junit测试集成Spring提供spring-test-4.2.4.RELEASE.jar 可以整合junit。优势:可以简化测试代码(不需要手动创建上下文,即手动创建spring容器)第一步:新建项目导入junit 开发包第二步:导入spring-test-4.2.4.RELEASE.jar第三步:配置applicationContext.xml<?xml ve...原创 2019-08-26 00:26:42 · 1021 阅读 · 0 评论 -
Spring--AOP中的execution表达式详解
Aspectj切入点语法定义在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点"例如定义切入点表达式 execution( com.sample.service.impl….(…))*execution()是最常用的切点函数,其语法如下所示:整个表达式可以分为五个部分:execution(): 表达式主体。第一个*号:表示...转载 2019-08-26 22:16:15 · 3356 阅读 · 1 评论 -
Spring--AOP配置(xml方式)
Spring AOP的原理AOP(Aspect-Oriented Programming,面向切面的编程)。AOP的原理 是使用JDK动态代理和cglib动态代理技术来实现的。JDK动态代理: 通过实现InvocationHandlet接口,并重写里面的invoke方法,通过为proxy类指定classLoader和一组interfaces来创建动态代理。cglib的动态代理: CGLi...原创 2019-08-26 22:49:50 · 1158 阅读 · 0 评论 -
Spring--AOP配置(注解方式)
Spring AOP的原理AOP(Aspect-Oriented Programming,面向切面的编程)。AOP的原理 是使用JDK动态代理和cglib动态代理技术来实现的。JDK动态代理: 通过实现InvocationHandlet接口,并重写里面的invoke方法,通过为proxy类指定classLoader和一组interfaces来创建动态代理。cglib的动态代理: CGLi...原创 2019-08-26 23:41:27 · 943 阅读 · 0 评论 -
Spring--JdbcTemplate简介和常用API
JdbcTemplate简介Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。JdbcTemplate位于 spring-jdbc-4.3.0.RELEASE.jar 中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemla...原创 2019-08-27 23:20:54 · 2667 阅读 · 0 评论 -
Spring事务--事务属性的7种传播行为详解
事务传播行为什么叫事务传播行为?听起来挺高端的,其实很简单。即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。例如:methodA事务方法调用methodB事务方法时,methodB是继续在调用者methodA的事务中运行呢,还是为自己开启一...转载 2019-08-28 20:32:45 · 1817 阅读 · 0 评论 -
Spring框架基础配置
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供...原创 2019-08-23 23:22:29 · 995 阅读 · 0 评论