![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring教程
文章平均质量分 62
凡我出品,皆属精品
这个作者很懒,什么都没留下…
展开
-
#简单聊聊<context:component-scan/> @FDDLC
问题:<context:component-scan/>有什么作用?使用IDEA时,把光标悬浮矸component-scan上,可以看到提示:先看第一块内容:意思是说:如果配置了component-scan这个标签,就会在classpath下扫描被注解(比如@Service等)声明了的组件。被扫描后,这些组件就会被自动注册成Spring容器中的bean。默认情况下,会扫描到的注解有:@Components,@Repository,@Service,@Co..原创 2021-04-16 16:01:07 · 106 阅读 · 0 评论 -
$Spring:<context:property-placeholder> #Spring中配置数据源的两种方式 @FDDLC
Spring中配置数据源有多种方式:方式一:<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.cj.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://local.原创 2020-10-07 14:30:56 · 186 阅读 · 0 评论 -
#编程式事务控制#TransactionTemplate#TransactionCallback@FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:..原创 2020-09-29 22:47:52 · 1004 阅读 · 0 评论 -
#纯注解小项目:JdbcTemplate、SpEL@Transactional@PropertySource@EnableTransactionManagement#spring-tx@FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/..原创 2020-09-29 21:26:32 · 1179 阅读 · 0 评论 -
@Transactional #tx:annotation-driven #spring-tx #基于注解的声明式事务控制 @FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容(注意:spring-tx依赖aspectjweaver):<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ..原创 2020-09-29 18:14:16 · 293 阅读 · 0 评论 -
#spring-tx#基于xml的声明式事务控制#tx:advice#tx:attributes#tx:method#@FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容(注意:spring-tx依赖aspectjweaver):<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ..原创 2020-09-29 16:54:59 · 422 阅读 · 0 评论 -
#tx:method的name属性@FDDLC
一、配置单个方法:<tx:method name="transfer" isolation="DEFAULT"propagation="REQUIRED" timeout="-1" read-only="false"/>二、tx:method的name属性也支持通配符的写法1、让所有方法支持事务:<tx:method name="*" propagation="REQUIRED"/>2、让查询方法只读(假设查询方法都是标准的find开关,比如findAll、原创 2020-09-29 16:46:44 · 2283 阅读 · 0 评论 -
#isolation、 propagation、read-only、timeout、rollback-for、no-rollback-for#<tx:method>的属性#事务的属性@FDDLC
1、isolation:隔离级别。默认值是DEFAULT,表示使用数据库的默认隔离级别。2、propagation:传播行为。默认值是REQUIRED,表示必须要有事务,增删改的选择。如果是查询,可以设为SUPPORTS。3、read-only:是否只读。默认值是false,表示读写。如果是查询,可以设为true。4、timeout:超时。默认值是-1,表示永不超时。如果有正整数值,以秒为单位。5、rollback-for:指定何种异常回滚,其他异常都不回滚。无默认值。不配置表示任何异常都回原创 2020-09-29 15:06:43 · 573 阅读 · 0 评论 -
#转账-实现事务 #基于注解的AOP #Maven、Spring、MySQL、C3P0、DbUtils、JUnit @FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:..原创 2020-09-29 14:23:43 · 208 阅读 · 0 评论 -
#转账-实现事务 #基于xml的AOP #Maven、Spring、MySQL、C3P0、DbUtils、JUnit @FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:..原创 2020-09-29 11:17:29 · 217 阅读 · 0 评论 -
#JdbcDaoSupport #提取多个dao的公共代码 @FDDLC
项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http:.原创 2020-09-28 22:10:49 · 239 阅读 · 0 评论 -
#JdbcTemplate、dao#在dao中使用Jdbc Template@FDDLC
项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http:.原创 2020-09-28 21:15:19 · 231 阅读 · 0 评论 -
#Spring JdbcTemplate - 增删改查(CRUD) @FDDLC
项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http:.原创 2020-09-28 19:20:44 · 218 阅读 · 0 评论 -
#Spring JdbcTemplate入门#基于xml@FDDLC
pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http://maven.apa.原创 2020-09-28 16:13:32 · 230 阅读 · 0 评论 -
#Spring JdbcTemplate入门@FDDLC
pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http://maven.apa.原创 2020-09-28 13:24:04 · 469 阅读 · 0 评论 -
#Spring AOP - 环绕通知 #aop:around @EnableAspectJAutoProxy #全注解 @FDDLC
若想了解如何基于xml实现环绕通知,可参考:#Spring AOP - 环绕通知 #aop:around @FDDLC项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2020-09-28 12:23:40 · 237 阅读 · 0 评论 -
#AOP的四种常用通知#前置、后置、异常、 最终#aop:before、aop:after-returning、aop:after-throwing、aop:after#全注解无xml@FDDLC
项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http:.原创 2020-09-28 10:51:23 · 548 阅读 · 0 评论 -
#Spring AOP - 环绕通知 #aop:around @FDDLC
环绕通知:手动编码控制增强代码如何执行的一种通知。前置通知、后置通知、异常通知、最终通知能实现的,环绕通知都能实现。项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2020-09-28 10:06:23 · 210 阅读 · 0 评论 -
#aop:pointcut @FDDLC
一、aop:pointcut可以在aop:aspect外面,但只能在aop:aspect前面,不能在aop:aspect后面。正确用法:<aop:pointcut id="pt1" expression="execution(public void cn.liuxingchang.Pointcut.save())"/><aop:aspect ref="advice" id="advice"> <aop:before method="before" point原创 2020-09-28 09:25:56 · 240 阅读 · 0 评论 -
#AOP的四种常用通知#前置通知、后置通知、异常通知、 最终通知#aop:before、aop:after-returning、aop:after-throwing、aop:after@FDDLC
项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http:.原创 2020-09-27 23:10:46 · 604 阅读 · 2 评论 -
#AOP pointcut execution 切入点表达式 @FDDLC
1、完全匹配pointcut="execution(public void cn.liuxingchang.Account.find(int)"2、匹配某个类中的全部方法(包括有参方法和无参方法)pointcut="execution(public void cn.liuxingchang.Account.*(..))"3、匹配某个类中的全部有参方法pointcut="execution(public void cn.liuxingchang.Account.*(*))"..原创 2020-09-27 22:11:51 · 483 阅读 · 0 评论 -
#AOP入门 aop:config、aop:aspect、aop:before @FDDLC
项目结构pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http:/.原创 2020-09-27 21:23:43 · 281 阅读 · 0 评论 -
$AOP术语@FDDLC
1、Joinpoint(连接点):所有被拦截的方法2、Pointcut(切入点):被增强的方法(属于连接点)3、Advice(通知、增强):用于增强的代码 3.1:前置通知(在被增强的方法前面) 3.2:后置通知(在被增强的方法后面) 3.3:异常通知(发生异常时进行的增强) 3.4:最终通知(有无异常均会进行的增强) 3.5:前置通知、后置通知、异常通知、最终通知统称为环绕通知4、Weaving(织入):对方法进行增强的过程5、Aspect...原创 2020-09-27 10:31:43 · 428 阅读 · 0 评论 -
#转账问题-自己实现事务控制(基于动态代理) #Maven、Spring、MySQL、C3P0、DbUtils、JUnit @FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/..原创 2020-09-24 21:44:30 · 256 阅读 · 0 评论 -
#动态代理#基于子类的动态代理#Enhancer类的create方法#MethodInterceptor接口的intercept方法@FDDLC
项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><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 http:.原创 2020-09-24 17:15:55 · 707 阅读 · 0 评论 -
#动态代理 #基于接口的动态代理 #Proxy类的newProxyInstance方法 #InvocationHandler接口的invoke方法 @FDDLC
项目结构:ProducerInterface.java的内容:package cn.liuxingchang;public interface ProducerInterface { void saleProduce(double money); void afterSale();}Producer.java的内容:package cn.liuxingchang;public class Producer implements ProducerI..原创 2020-09-24 16:27:11 · 311 阅读 · 0 评论 -
#转账问题-自己实现事务控制 #Maven、Spring、MySQL、C3P0、DbUtils、JUnit @FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/..原创 2020-09-17 08:59:40 · 242 阅读 · 0 评论 -
#Spring整合JUnit-简单讲解 @RunWith @ContextConfiguration @FDDLC
1、导入Maven依赖:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.8.RELEASE</version></dependency><dependency> <groupId>jun原创 2020-09-16 19:02:50 · 386 阅读 · 0 评论 -
@PropertySource #PropertySource注解 @Value使用SpEL @FDDLC
1、准备好数据库配置文件(在mysql包下):config.properties。内容如下:jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF8&serverTimezone=Asia/Shanghaijdbc.user=rootjdbc.password=1234562、扫描数据库配置文件(该注解需要被激活)@Propert.原创 2020-09-16 17:17:51 · 320 阅读 · 0 评论 -
@Import #Import注解 #关于Spring 配置类的总结 @FDDLC
总结0:配置类激活的入口是new AnnotationConfigApplicationContext(),可以触发链式反应!比如入口new方法激活了类A,类A又可以激活类B、类C……配置类激活的入口,相关内容:#AnnotationConfigApplicationContext的两种用法 @FDDLC总结1:@Configuration标识一个配置类,需要被激活。总结2:ApplicationContext context = new AnnotationConfigA...原创 2020-09-16 16:13:21 · 290 阅读 · 0 评论 -
#AnnotationConfigApplicationContext的两种用法 @FDDLC
用法1:以 .class为参数,示例:ApplicationContext context = new AnnotationConfigApplicationContext(config.SpringConfiguration.class);用法2:以包名字符串为参数,示例://config包下有个SpringConfiguration.java文件ApplicationContext context = new AnnotationConfigApplicationCon...原创 2020-09-16 14:57:05 · 963 阅读 · 0 评论 -
@Bean #Bean注解 @Configuration #Configuration注解 @ComponentScan #ComponentScan注解 @FDDLC
测试环境:IDEA 2020.2项目结构:bean.xml:不需要!完全基于注解。User.java的内容:package cn.liuxingchang;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;public class User { @Value("liu") priva...原创 2020-09-16 14:45:30 · 248 阅读 · 0 评论 -
#Spring小项目:Maven、Spring、MySQL、C3P0、DbUtils(QueryRunner)、JUnit #基于注解 @FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:..原创 2020-09-16 14:18:18 · 361 阅读 · 0 评论 -
#Spring小项目:Maven、Spring、MySQL、C3P0、DbUtils(QueryRunner)、JUnit #基于xml配置 @FDDLC
测试环境:IDEA 2020.2、MySQL 8.0.16项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:..原创 2020-09-16 11:32:00 · 336 阅读 · 0 评论 -
#与作用范围和生命周期相关的注解 @Scope @PostConstruct @PreDestroy @FDDLC
User.java的内容:package cn.liuxingchang;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;@Component//@Scope(value = "proto原创 2020-09-15 18:47:47 · 238 阅读 · 0 评论 -
@Value #Value注解 #数据注入相关的注解@FDDLC
测试环境:IDEA 2020.2项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apach..原创 2020-09-15 17:24:26 · 587 阅读 · 0 评论 -
@Resource #Resource注解 @FDDLC
剧情回顾:#Autowired注解 #@Autowired @FDDLC、@Qualifier#Qualifier注解@FDDLC学完上面两篇内容之后,我们知道,@Autowired可能会出现这样的情况:有多个匹配且没有哪个Bean的名称和变量名相同。面对这种情况,@Autowired的补丁——@Qualifier出场了!两个注解一联手,便知问题有没有!显然,这样的解决方案并不完美!那么,有更好的替代方案吗?当然有,它就是——@Resource请看这样一段代码:@Autowired.原创 2020-09-15 16:46:19 · 265 阅读 · 0 评论 -
@Qualifier#Qualifier注解@FDDLC
剧情回础:#Autowired注解 #@Autowired @FDDLC在上一集中,我们知道,单独使用@Autowired可能会出现这么一种情况:匹配到多个Bean,且没有哪个Bean的名称和变量名相同。比如:假设有2个Bean,都实现了Car接口:第1个Bean:@Component(value = "myBMW")public class BMW implementsCar{......}第2个Bean:@Component(value = "myBenz")pub.原创 2020-09-15 16:24:01 · 627 阅读 · 0 评论 -
#Autowired注解 #@Autowired @FDDLC
先修课:Spring注解入门-@Component#如何利用注解创建Bean#Component注解#@Controller、@Service、@Repository@FDDLC测试环境:IDEA 2020.2项目结构:pom.xml的内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x...原创 2020-09-15 15:12:05 · 414 阅读 · 0 评论 -
#Spring注解入门-@Component#如何利用注解创建Bean#Component注解#@Controller、@Service、@Repository@FDDLC
Car.java的内容:package cn.liuxingchang;import org.springframework.stereotype.Component;//@Component //该Bean的id为类名,但首字母要小写。这里类名为Car,故id为car//@Component(value = "car") //value的值即为Bean的id,可以自定义,比如value = "myCar"@Component("car")public class Car { p原创 2020-09-15 13:42:05 · 340 阅读 · 0 评论