![](https://img-blog.csdnimg.cn/20210615140121192.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
人在江湖之Spring基础
文章平均质量分 94
java开发不会不知道,我们直接从spring boot来入门,省去一些不常用的功能直接对接实际应用需要
没事儿写两篇
授之以鱼不如授之以渔
展开
-
013-Spring事务管理
说明本文示例承接上一篇文章,如有需要请移步012-Spring DAO 数据访问对象上文最后,我们提到了事务管理。对spring事务有了解的都知道,我们需要在Service对应的方法上添加@Transactional。按照我们的示例,即便你添加了@Transactional注解,事务依然没有生效。因为我们示例中没有配置事务管理器。事务的ACID特性原子性(Atomicity):整个事务中的所有操作,要么全部完成,要么全部失败,不可分割。不能部分成功,部分失败。一致性(Consistency原创 2021-07-29 20:38:50 · 438 阅读 · 0 评论 -
012-Spring DAO 数据访问对象
数据源JDBC数据源DriverManagerDataSource主要参数如下:jdbcDriver:jdbc驱动url:数据库连接username:用户名password:密码DBCP数据源BasicDataSource该数据源依赖于 commons-dbcp.jar, commons-pool对象池机制的数据库连接池。BasicDataSource提供了close()方法关闭数据源,所以必须设定destroy-method=”close”属性, 以便Spring容器关闭时,数据源能够原创 2021-07-28 14:38:42 · 345 阅读 · 0 评论 -
011-Spring AOP入门
AOP相关术语切面(Aspect):切面是对象操作过程中的截面。实际上"切面"就是一段代码,这段代码将被"植入"到程序流程中。链接点(Join Point):连接点是对象操作过程中的某个阶段点(代码的某个位置,如某个方法执行前或执行后)。它实际上是对象的一个操作,例如:对象调用某个方法,读写对象的实例,或者某个方法抛出了异常等等。切入点(Pointcut):切入点是连接点的集合,它是"切面"注入到程序中的位置,换句话说,"切面"是通过切入点被"注入"的。程序中可以有很多个切入点。通知(Advice原创 2021-07-20 15:23:54 · 510 阅读 · 0 评论 -
010-Spring 资源Resource接口
Resource接口定义如下package org.springframework.core.io;import java.io.File;import java.io.IOException;import java.net.URI;import java.net.URL;import java.nio.channels.Channels;import java.nio.channels.ReadableByteChannel;import org.springframework.lan原创 2021-07-16 17:01:19 · 265 阅读 · 0 评论 -
009-Spring IoC 国际化(i18n)
MessageSource接口MessageSource接口定义如下:package org.springframework.context;import java.util.Locale;import org.springframework.lang.Nullable;public interface MessageSource { @Nullable String getMessage(String code, @Nullable Object[] args, @Nulla原创 2021-07-14 16:50:37 · 281 阅读 · 0 评论 -
008-Spring Ioc 环境与配置
@Profile很多情况下,我们的配置跟需要部署的环境是有关系的,比如我们的数据库连接地址、用户、密码等,各个环境是不一样的,即便我们通过配置文件加载,但不同的环境依然需要修改之后部署,通过@Profile注解可以将这些环境的配置分开,而且不用重复修改编码。@Configuration@Profile("development")public class StandaloneDataConfig { @Bean public DataSource dataSource() {原创 2021-07-14 09:44:32 · 162 阅读 · 0 评论 -
007-Spring IoC 基于Java编程的配置
@Bean和@Configuration@Configuration类似于@Component,它标明当前类时一个配置类,用于配置bean。@Bean对应xml配置中的<bean/>标签,拥有<bean/>标签所有的属性,如果init-method等属性@Configurationpublic class AppConfig { @Bean public MyService myService() { return new MyService原创 2021-07-07 15:09:35 · 195 阅读 · 0 评论 -
006-Spring IoC 基于注解配置
自动扫描自定义的Beanxml方式<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xs原创 2021-07-05 17:09:58 · 173 阅读 · 0 评论 -
005-Spring Bean的生命周期与扩展处理器
Bean的生命周期回调Spring容器中定义了如下两个接口类提供容器在初始化或销毁bean的时候调用InitializingBean:bean初始化的时候调用其对应方法DisposableBean:bean销毁的时候调用其对应方法InitializingBean接口定义如下package org.springframework.beans.factory;public interface InitializingBean { void afterPropertiesSet() th原创 2021-07-01 15:43:28 · 237 阅读 · 0 评论 -
004-Spring Ioc 依赖详解
基本数据类型、字符串注入<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- results in a setDriverClassName(String) call --> <property name="driverClassName" value="com.mysql.jdbc.Driver"/>原创 2021-06-28 15:34:12 · 117 阅读 · 0 评论 -
003-Spring Ioc Bean的初始化过程与循环依赖
依赖注入依赖注入 (DI) 是一个过程,如果一个Bean中有其它bean作为其属性,容器会在创建 bean 时注入这些依赖项。DI主要有两种方式:基于构造函数注入基于setter方法注入我们用如下A、B两个类来讲解A类定义如下package com.yyoo.boot.bean;public class A { private String attr; public A(){ System.out.println("A无参构造"); }原创 2021-06-24 16:56:37 · 225 阅读 · 0 评论 -
002-Spring Ioc入门
什么是IocIoC 也称为依赖注入 (DI)又名控制反转。Ioc是一个过程,可以有以下方式来实现。接口注入:接口注入基于接口将调用与实现分离。这种依赖注入方式必须实现容器所规定的接口,使程序代码和容器的API绑定在一起,这不是理想的依赖注入方式。Spring不支持这种方式的依赖注入.Setter方式注入:基于JavaBean的Setter方法为属性赋值。在实际开发中得到了广泛应用。构造器注入:基于构造方法为属性赋值。容器通过调用类的构造方法,将其所需的依赖关系注入其中。基本依赖org.spr原创 2021-06-23 17:04:10 · 105 阅读 · 0 评论 -
001-Spring Boot HelloWorld
准备本文使用maven。请确保你的maven在3.4+版本本文使用当前最新的springBoot版本2.5.1SpringBoot2.5.1需要jdk1.8+本文使用idea开发新建springboot项目项目结构如下:编写pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.原创 2021-06-16 17:19:40 · 115 阅读 · 0 评论