Spring
Spring学习总结,分享学习经验,供参考!
-
原创
Spring学习总结(30)——Spring事物(@transactional注解)在什么情况下会失效,为什么?
一、@transactional 的使用 1、一般在service里加@Transactional注解,不建议在接口上添加 2、加了此注解后每个业务方法执行时,都会开启一个事务,不过都是按照相同的管理机制。 3、@Transactional注解只能应用到public修饰符上,其它修饰符不起作用,但不报错。 4、默认情况下此注解会对unchecked异常进行回滚,对checked异常不回滚。...2019-12-02 14:30:35 阅读数 2681 评论数 0 -
转载
Spring学习总结(29)——Spring异步处理@Async的使用以及原理、源码分析(@EnableAsync)
在开发过程中,我们会遇到很多使用线程池的业务场景,例如异步短信通知、异步记录操作日志。大多数使用线程池的场景,就是会将一些可以进行异步操作的业务放在线程池中去完成。例如在生成订单的时候给用户发送短信,生成订单的结果不应该被发送短信的成功与否所左右,也就是说生成订单这个主操作是不依赖于发送短信这个操作,所以我们就可以把发送短信这个操作置为异步操作。那么本文就是来看看Spring中提供的优雅的异步处理...2019-12-02 11:43:16 阅读数 2794 评论数 0 -
原创
Spring学习总结(28)——Spring获取request对象的几种方法及线程安全性总结
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 前言 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址、请求的url、header中的属性(如cookie、授权信息)、body中的数据等。由于在Spring MVC中,处理请求的Controller、Service等...2019-02-26 10:40:51 阅读数 324 评论数 0 -
原创
Spring学习总结(27)——Spring常用注解再总结
1、声明Bean的注解 @Component 组件,没有明确的角色。 @Service 在业务逻辑层使用(service层)。 @Repository 在数据访问层使用(dao层)。 @Controller 在展现层使用,控制器的声明(Controller层)。 2、注入Bean的注解 @Autowired 由Spring提供。 @Inject 由JSR-330提供。 @R...2018-10-23 12:50:10 阅读数 613 评论数 0 -
原创
Spring学习总结(26)——Spring事务原理详解
一、事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:(1)、获取连接:Connection con = DriverManager.getConnection()(2)、开启事务:con.setAutoCommit(true/false);(3)、执行:CRUD...2018-06-22 18:12:52 阅读数 5155 评论数 1 -
原创
Spring学习总结(25)——注解@PostConstruct和@PreDestroy使用总结
@PostConstruct 和 @PreDestroy这两个都是方法的注解,将注解标注在方法上,该方法就能够在应用启动和销毁时执行,@PostConstruct 注解标注的函数,是在类执行完构造函数之后执行。@PreDestroy 注解标注的函数,是在应用结束之前执行。场景介绍:(缓存场景)比如我们想要在应用启动后,从数据库加载一些基础信息,比如城市,将其加载到本地的一个List结构中,这样没错2018-02-23 09:45:31 阅读数 1221 评论数 0 -
原创
Spring学习总结(24)——Spring配置文件加载路径总结
1. Spring使用ClassPathXmlApplicationContext 从classpath读取ClassPathXmlApplicationContext 默认会去 classPath 路径下找。classPath 路径指的就是编译后的 classes 目录。 1.1 如果配置文件在classpath目录下:ClassPathXmlApplicationContext tx = ne2017-11-26 13:32:16 阅读数 788 评论数 0 -
原创
Spring学习总结(23)——Spring Framework 5.0 新特性
Spring Framework 5.0 是自 2013年12月版本 4 发布之后 Spring Framework 的第一个主发行版。Spring Framework 项目的领导人 Juergen Hoeller 于 2016 年 7 月 28 日宣布了第一个 Spring Framework 5.0 里程碑版本(5.0 M1)。 现在,将近一年的时间过去以后,我们期盼已久的 RC32017-08-21 14:47:35 阅读数 21475 评论数 1 -
原创
Spring学习总结(22)——Spring-framework-bom解决spring的不同模块依赖版本不同问题
Spring不同模块或者与外部进行集成时,依赖处理就需要各自对应版本号。比如,较新spring与较老的quartz,它们集成就会遇到问题,给搭建和升级带来不便。因此Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号。Spring IO Platform只是一个pom文件,记录了spring与其他开源项目对应的版本。省去了版本号,也就省去了处理依赖时的问题2017-04-20 11:23:59 阅读数 10358 评论数 0 -
原创
Spring学习总结(21)——Spring集成阿里巴巴数据库连接池DruidDataSource配置及其常见问题汇总
一、参考配置如下2017-01-13 12:03:51 阅读数 9388 评论数 1 -
原创
Spring学习总结(20)——Spring加载多个项目properties配置文件问题解决
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder '${redis.host}' at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.jav2016-11-17 09:46:16 阅读数 2996 评论数 0 -
原创
Spring学习总结(19)——Spring概念详解
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。你可能正在想“Spring不过是另外一个的framework”。当已经有许多开放源代码(和专有)J2EEframework时,我们为什么还需要Spring Framework?...2016-09-20 14:17:52 阅读数 2941 评论数 0 -
转载
Spring学习总结(18)——Spring整合Mysql数据库一主多从、多主多从配置
一、新建jdbc.properties配置文件 master.jdbc.driverClassName=com.mysql.jdbc.Drivermaster.jdbc.url=jdbc:mysql://127.0.0.1:3306/springdemo?useUnicode=true&characterEncoding=UTF-8master.jdbc.username=rootmaster.2016-09-09 17:39:21 阅读数 6475 评论数 0 -
转载
Spring学习总结(17)——Spring AOP权限管理
每个项目都会有权限管理系统 无论你是一个简单的企业站,还是一个复杂到爆的平台级项目,都会涉及到用户登录、权限管理这些必不可少的业务逻辑。有人说,企业站需要什么权限管理阿?那行吧,你那可能叫静态页面,就算这样,但你肯定也会有后台管理及登录功能。 每个项目中都会有这些几乎一样的业务逻辑,我们能不能把他们做成通用的系统呢? AOP 实现用户权限验证 AOP 在实际项目中运用的场景主要有 权限2016-09-09 17:29:41 阅读数 2495 评论数 0 -
转载
Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源
深刻讨论为什么要读写分离? 为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的。「读写分离」并不是多么神奇的东西,也带不来多么大的性能提升,也许更多的作用的就是数据安全的备份吧。 从一个库到读写分离,从理论上对服务器压力来说是会带来一倍的性能提升,但你仔细思考一下,你的应用服务器真2016-09-08 09:47:11 阅读数 2847 评论数 0 -
转载
Spring学习总结(15)——Spring AOP 拦截器的基本实现
一个程序猿在梦中解决的 Bug 没有人是不做梦的,在所有梦的排行中,白日梦最令人伤感。不知道身为程序猿的大家,有没有睡了一觉,然后在梦中把睡之前代码中怎么也搞不定的 Bug 给解决的经历?反正我是有过。 什么是 AOP ? AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术2016-09-08 09:46:32 阅读数 1737 评论数 0 -
原创
Spring学习总结(10)——Spring JMS---三种消息监听器
消息监听器MessageListener 在spring整合JMS的应用中我们在定义消息监听器的时候一共可以定义三种类型的消息监听器,分别是MessageListener、SessionAwareMessageListener和MessageListenerAdapter。下面就分别来介绍一下这几种类型的区别。 1. MessageListener MessageListener是最2016-05-16 12:51:54 阅读数 7744 评论数 0 -
原创
Spring学习总结(14)——Spring10种常见异常解决方法
在程序员生涯当中,提到最多的应该就是SSH三大框架了。作为第一大框架的Spring框架,我们经常使用。 然而在使用过程中,遇到过很多的常见异常,我在这里总结一下,大家共勉。 一、找不到配置文件的异常 [plain] view plaincopy org.springframework.beans.factory.BeanDefinitionStoreException:2016-07-15 18:45:39 阅读数 7174 评论数 1 -
原创
Spring学习总结(13)——Spring+Log4j+ActiveMQ实现远程记录日志
应用场景 随着项目的逐渐扩大,日志的增加也变得更快。Log4j是常用的日志记录工具,在有些时候,我们可能需要将Log4j的日志发送到专门用于记录日志的远程服务器,特别是对于稍微大一点的应用。这么做的优点有: 可以集中管理日志 :可以把多台服务器上的日志都发送到一台日志服务器上,方便管理、查看和分析可以减轻服务器的开销 :日志不在服务器上了,因此服务器有更多可用的磁盘空间可以提高服务器的性能2016-07-06 09:32:02 阅读数 3304 评论数 0 -
原创
Spring学习总结(12)——Druid连接池及监控在spring配置
Druid连接池及监控在spring配置如下: id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> name="url" value="${jdbc_url}" /> name="user2016-06-30 15:07:55 阅读数 1804 评论数 0 -
原创
Spring学习总结(11)——Spring JMS MessageConverter介绍
消息转换器MessageConverter MessageConverter的作用主要有两方面,一方面它可以把我们的非标准化Message对象转换成我们的目标Message对象,这主要是用在发送消息的时候;另一方面它又可以把我们的Message对象转换成对应的目标对象,这主要是用在接收消息的时候。 下面我们就拿发送一个对象消息来举例,假设我们有这样一个需求:我们平台有一个发送邮件的功能,进2016-05-16 12:53:07 阅读数 8396 评论数 0 -
原创
Spring学习总结(9)——Spring AOP总结
spring IOC和AOP是Spring框架的两大核心基石,本文将对Spring AOP做一个系统的总结。 什么是AOP AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需...2016-05-16 12:43:17 阅读数 7988 评论数 3 -
转载
Spring学习总结(8)——25个经典的Spring面试问答
1、什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。2016-05-13 18:09:23 阅读数 2980 评论数 0 -
原创
Spring学习总结(7)——applicationContext.xml 配置文详解
web.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 存放位置: 1:src下面 需要在web.xml中定义如下: contextConfigLocation2016-04-27 18:33:51 阅读数 1760 评论数 0 -
原创
Spring学习总结(6)——Spring之核心容器bean
一、Bean的基础知识 1.在xml配置文件中,bean的标识(id 和 name) id:指定在benafactory中管理该bean的唯一的标识。name可用来唯一标识bean 或给bean起别名。 [html] view plaincopy bean id="helloWorld" class="com.name.Hello2016-01-06 15:11:07 阅读数 1898 评论数 1 -
原创
Spring学习总结(5)——IOC注入方式总结
一、构造注入 在类被实例化的时候,它的构造方法被调用并且只能调用一次。所以它被用于类的初始化操作。是标签的子标签。通过其子标签可以为构造 方法传递参数。现在以一个简单的输出学生信息的实例演示如何为构造方法传递参数。 实例程序创建过程如下。 (1)建立 Student 接口,它是对学生类的简单抽象。程序代码如下 [java] view plaincopy2016-01-06 14:57:24 阅读数 1887 评论数 0 -
原创
Spring学习总结(4)——Spring AOP教程
一、概念 AOP(Aspect Oriented Programming):面向切面编程。 面向切面编程(也叫面向方面编程),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 二、用途 日志记录,性能统计,安全控制,权限管理,事务处2015-11-16 15:35:03 阅读数 2484 评论数 1 -
原创
Spring学习总结(3)——Spring配置文件详解
Spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图"。Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是Spring的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。2015-12-30 09:11:48 阅读数 3078 评论数 2 -
原创
Spring学习总结(2)——Spring的常用注解
本文汇总了Spring的常用注解,以方便大家查询和使用,具体如下: 使用注解之前要开启自动扫描功能 其中base-package为需要扫描的包(含子包)。 ? 1 package="cn.test"/> @Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容2015-12-17 14:35:34 阅读数 2228 评论数 2 -
原创
Spring学习详解(1)——Spring入门详解
一:spring的基本用法: 1,关于spring容器: spring容器是Spring的核心,该 容器负责管理spring中的java组件, ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//这种方式实例化容器,容器会自动预初始化所有Bean实例 ctx.getBean("beanName2015-12-30 09:25:13 阅读数 5588 评论数 6