
Spring学习
文章平均质量分 67
Spring是一个JavaEE开发中的一站式开源框架, 有JavaEE开发的每一层的解决方案。
自由与束缚JavaJavaScript
这个作者很懒,什么都没留下…
展开
-
001_Spring概述
一. Spring概述1.什么是Spring?2. Spring是一个JavaEE开发中的一站式开源框架, 有JavaEE开发的每一层的解决方案。2.1. Web层: SpringMVC。2.2. Service层: Spring的Bean管理, Spring声明式事务。2.3. Dao层: Spring的Jdbc模板, Spring的ORM模块。3. 为什么学习Spring?二. 下载Spring的开发包1. 下载地址:https://repo.spring.io.原创 2021-01-31 13:43:20 · 566 阅读 · 1 评论 -
002_SpringIOC
1. IOC:Inversion of Control(控制反转)。将对象的创建权反转给Spring。2. 创建名为SpringIOC的Web工程3. 创建UserDao.java接口package com.lywgames.ioc.dao;public interface UserDao { public void login();}4. 创建UserDao接口的实现类UserDaoImpl.javapackage com.lywgames.ioc.dao.impl;.原创 2021-01-31 14:01:15 · 120 阅读 · 0 评论 -
003_Spring使用Slf4j和logback日志
1. Spring默认使用的是JCL(Jakarta Commons Logging, 即常见到的commons-logging-xxx.jar)控制日志输出。2. JCL和slf4j一样, 只提供一套通用的日志接口api, 并不提供日志的实现。3. 在Spring中, 不引入具体的日志框架时, jcl默认会以jul(java.util.logging)做为日志框架。即日志输出的流程大致如下:4. 要想让Spring以slf4j+logback的形式输出日志, 则需要让slf4j和jcl进行原创 2021-05-23 17:15:25 · 203 阅读 · 1 评论 -
004_Bean标签
1.<bean>标签的id和name的配置1.1. id:使用了约束中的唯一约束。里面不能出现特殊字符的。1.2. name:没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。里面可以出现特殊字符。2. Bean的生命周期的配置2.1. init-method:Bean被初始化的时候执行的方法。2.2. destroy-method:Bean被销毁的时候执行的方法(Bean是单例创建, 工厂关闭)。3. Bean的作用范围scope的配置...原创 2021-02-03 11:48:28 · 133 阅读 · 0 评论 -
005_Spring的属性注入
1. DI依赖注入, 前提必须有IOC的环境, Spring管理这个类的时候将类的依赖的属性注入(设置)进来。2. Spring的属性注入2.1. 构造方法的方式的属性注入2.2. Set方法的方式的属性注入2.3. 集合类型属性注入3. 依赖注入实例3.1. 新建一个名为SpringDI的Java工程, 拷入Spring相关包3.2. 创建Student.javapackage com.lywgames.bean;public class Studen原创 2021-02-03 11:57:52 · 121 阅读 · 0 评论 -
006_P名称空间的属性注入
1. 通过引入p名称空间完成属性的注入1.1. 普通属性: p:属性名="值"。1.2. 对象属性: p:属性名-ref="值"。2. P名称空间的引入3. 使用p名称空间4. p标签实例4.1. 新建一个名为SpringDI_P的Java工程, 拷入Spring相关包4.2. 创建Teacher.javapackage com.lywgames.bean;public class Teacher { private int id; private St原创 2021-02-03 13:26:25 · 128 阅读 · 1 评论 -
007_SpEL表达式
1. SpEL: Spring Expression Language, Spring的表达式语言。2.SpEL的属性注入(Spring3.0以后), 语法: #{SpEL}。3. SpEL的使用4. SpEL实例4.1. 新建一个名为SpringDI_SpEL的Java工程, 拷入Spring相关包4.2. 创建Teacher.javapackage com.lywgames.bean;public class Teacher { private int id;.原创 2021-02-03 13:44:54 · 150 阅读 · 0 评论 -
008_多配置文件的引入
1. 多配置文件1.1. 在分模块开发的时候, 我们可能使用多个配置文件。1.2. 在一个配置文件中引入多个配置文件1.3. 在类加载的时候加载多个配置文件2. 多配置文件实例2.1. 新建一个名为MultiXml的Java工程, 拷入Spring相关包2.2. 创建Teacher.javapackage com.lywgames.bean;public class Teacher { private int id; private String name;原创 2021-02-03 14:11:29 · 127 阅读 · 0 评论 -
009_IOC注解开发
一. @Component注解1. @Component注解, 组件的意思, 修饰一个类, 有一个value属性, 可以给组件指定一个名字。相当于我们在Spring的XML配置文件里, 配置了一个bean, 给bean指定了一个名字, 并指定类。2. @Component注解有三个衍生注解, 功能类似, 推荐使用:2.1. @Controller: 修饰Web层类。2.2. @Service: 修饰service层类。2.3. @Repository: 修饰dao层类。二. 属性原创 2021-02-03 18:05:55 · 118 阅读 · 1 评论 -
010_AOPXml方式开发
1. 什么是AOP?2. Spring底层的AOP实现原理2.1. AOP应用场景2.2. Spring动态代理2.2.1. JDK动态代理: 只能对实现了接口的类产生代理。2.2.2. CGLIB动态代理: 对没有实现接口的类产生代理。CGLIB(Code Generation Library)是一个开源的, 强大的, 高性能, 高质量的Code生成类库。Spring引入了它。3. AOP简介3.1. AOP思想最早是由AOP联盟组织提出的。Spring是使用这种思想的原创 2021-02-06 17:47:41 · 109 阅读 · 0 评论 -
011_AOP注解开发
一. Spring的基于ApsectJ的注解的AOP开发1. 编写目标类并配置2. 编写切面类并配置3. 在配置文件中打开注解的AOP开发4. 在切面类上使用注解@Aspect5. 前置通知@Before6. 后置通知@AfterReturning7. 注解配置切入点8. 环绕通知@Around, 使用切入点9. 异常抛出通知@AfterThrowing10. 最终通知@After二. AOP注解开发例子1. 新建一个名原创 2021-02-06 17:55:32 · 116 阅读 · 0 评论 -
012_JDBC模板
一. Spring的JDBC的模板1. Spring对持久层也提供了解决方案: ORM模块和JDBC的模板。2. Spring提供了很多的模板用于简化开发:3. Spring的JDBC模板的jar包:二. Spring的JDBC的模板简单使用例子1. 新建一个名为SpringJdbc的Java工程, 同时拷入相关jar包2. 创建SpringJdbc.javapackage com.lywgames.springjdbc;import org.springfr.原创 2021-02-06 18:02:26 · 110 阅读 · 0 评论 -
013_JDBC模板使用第三方连接池
一. Spring的JDBC模板使用DBCP连接池例子1. 创建一个名为SpringJdbcDBCP的Java工程, 同时拷入相关jar包2. 创建SpringJdbc.javapackage com.lywgames.springjdbc;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jdbc.core.JdbcTemplate原创 2021-02-06 18:06:34 · 110 阅读 · 0 评论 -
014_Spring事务
一. 事务1. 什么事务?1.1. 事务: 逻辑上的一组操作, 组成这组操作的各个单元, 要么全都成功, 要么全都失败。2. 事务的特性2.1. 原子性: 事务不可分割。2.2. 一致性: 事务执行前后数据完整性保持一致。2.3. 隔离性: 一个事务的执行不应该受到其他事务的干扰。2.4. 持久性: 一旦事务结束, 数据就持久化到数据库。3. 如果不考虑隔离性引发安全性问题3.1. 读问题3.1.1. 脏读: 一个事务读到另一个事务未提交的数据。3.1.2. 不可原创 2021-02-06 18:22:10 · 210 阅读 · 0 评论 -
015_JavaMail
1. 邮件服务器1.1. 类似于web服务器(如Tomcat)、数据库服务器(如MySql), 把一台邮件服务器端软件放在网络上, 即可供广大网络用户使用。1.2. 类似于邮局, 用户发邮件时, 邮件服务器处理, 再投递给相应的邮箱地址。1.3. 比如: 有sina、sohu、163、qq等等邮件服务器。2. 电子邮箱: 邮件服务器中的账户, 服务器会为每个邮箱账户分配地址和空间。3. 邮件收发协议3.1. SMTP(发送邮件协议, 默认端口25)。3.2. POP3(收取邮件协原创 2021-03-19 22:32:30 · 344 阅读 · 0 评论 -
016_Spring中电子邮件
1. Spring提供了一个实用的发送电子邮件库, 它为使用者屏蔽了邮件系统的底层细节和客户端的底层资源处理。2. 依赖库: 使用Spring框架的邮件功能需要将JavaMail的Jar包添加到依赖中。3. Spring邮件相关功能在spring-context-support-4.2.4.RELEASE.jar下的org.springframework.mail包中4. 其中MailSender是发送邮件的核心接口, JavaMailSenderImpl是核心接口的重要实现类5.原创 2021-03-20 01:04:02 · 780 阅读 · 1 评论 -
017_Spring+Mybatis+C3P0
1. 新建一个名为SpringMybatis的Java项目, 添加相关jar包。2. 在src目录下配置jdbc.properties3. 在src目录下配置SqlMapConfig.xml4. 在src目录下配置applicationContext.xml5. 创建User.javapackage com.lywgames.domain;import java.util.Date;public class User { private Integer id;原创 2021-11-21 22:42:48 · 700 阅读 · 0 评论 -
018_Spring+ActiveMQ(消息中间件)
1. 配置连接工厂bean1.1. 我们要想发送消息到ActiveMQ, 就需要创建客户和提供者之间的连接, 连接工厂(ActiveMQConnectionFactory)可以完成这个工作。1.2. 可以配置spring包下的org.apache.activemq.spring.ActiveMQConnectionFactory1.3. org.apache.activemq.spring.ActiveMQConnectionFactory类在下面这个jar包中1.4. org.a.原创 2021-11-26 10:37:55 · 540 阅读 · 0 评论