![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring4.0
qq_40613940
这个作者很懒,什么都没留下…
展开
-
Spring4.0 学习(第二天)-------Spring AOP 基础术语
横切关注点在软件开发中,散布于应用中多处的功能被称为横切关注点(cross-cutting concern)。通常来讲,这些横切关注点从概念上是与应用的业务逻 辑相分离的(但是往往会直接嵌入到应用的业务逻辑之中)。把这些横切关注点与业务逻辑相分离正是面向切面编程(AOP)所要解决的问题。什么是面向切面编程 切面能帮助我们模块化横切关注点。简而言之,横切关注点可以被描述为影响应用多处的功...原创 2019-08-23 23:47:38 · 93 阅读 · 0 评论 -
Spring4.0 学习(第四天)------- 保护web应用
安全性都是绝大多数应用系统中的一个重要切面(aspect)。 Spring Security简介 Spring Security是为基于Spring的应用程序提供声明式安全保护的安全性框架。Spring Security提供了完整的安全性解决方案,它能够在Web请 求级别和方法调用级别处理身份认证和授权。因为基于Spring框架,所以Spring Security充分利用了依赖注入和 面向...原创 2019-08-26 22:13:49 · 135 阅读 · 0 评论 -
@pathVariable
@PathVariable只支持一个属性value,类型是为String,代表绑定的属性名称。默认不传递时,绑定为同名的形参。应用时,在@RequestMapping请求路径中,将需要传递的参数用花括号{}括起来,然后,通过@PathVariable("参数名称")获取URL中对应的参数值。如果@PathVariable标明参数名称,则参数名称必须和URL中参数名称一致。@Reques...转载 2019-08-26 21:19:27 · 633 阅读 · 0 评论 -
Spring4.0 学习(第四天)------- 跨重定向请求传递数据
在控制器方法返回的视图名称中,我们借助了“redirect:”前缀的力量。当控制器方法返回的String值以“redirect:”开头的话,那么这个String不是用来查找视图的,而是用来指导浏览器进行重定向的路径。具体来讲,正在发起重定向功能的方法该如何发送数据给重定向的目标方法呢?一般来讲,当一个处理器方法完成之后,该方法所指定的模型数据将会复制到请求中,并作为请求中的属性,请求会转发(f...原创 2019-08-26 21:03:05 · 100 阅读 · 0 评论 -
Spring4.0 学习(第四天)-------处理异常
不管发生什么事情,不管是好的还是坏的,Servlet请求的输出都是一个Servlet响应。如果在请求处理的时候,出现了异常,那它的输出依然会是Servlet响应。异常必须要以某种方式转换为响应。Spring提供了多种方式将异常转换为响应: 1. 特定的Spring异常将会自动映射为指定的HTTP状态码; 2. 异常上可以添加@ResponseStatus注解,从而将其映射为某一...原创 2019-08-26 20:28:00 · 96 阅读 · 0 评论 -
Spring4.0 学习(第四天)------- 处理multipart形式的数据(文件上传)
在编写控制器方法处理文件上传之前,我们必须要配置一个multipart 解析器,通过它来告诉DispatcherServlet该如何读取multipart请求。 配置multipart解析器 DispatcherServlet并没有实现任何解析multipart请求数据的功能。它将该任务委托给了Spring中MultipartResolver策略接口的实现,通过这个实现类来解析multip...原创 2019-08-26 19:46:01 · 143 阅读 · 0 评论 -
Spring4.0 学习(第一天)------- bean的作用域
在默认情况下,Spring应用上下文中所有bean都是作为以单例(singleton)的形式创建的。也就是说,不管给定的一个bean被注入到其他bean多少次,每次所注入的都是同一个实例。 有时候,可能会发现,你所使用的类是易变的(mutable),它们会保持一些状态,因此重用是不安全的。在这种情况下,将class声明为单例的bean就不是什么好主意了,因为对象会被污染,稍后重用的时候会出现意想不...原创 2019-08-23 00:04:46 · 76 阅读 · 0 评论 -
Spring4.0 学习(第一天)-------处理自动装配的歧义性
方法一: 标示首选的bean在Spring中,可以通过@Primary来表达最喜欢的方案(只能标注在一个上)。@Primary能够与@Component组合用在组件扫描的bean上,也可以与@Bean组合用在Java配置的bean声明中。不管你采用什么方式来标示首选bean,效果都是一样的,都是告诉Spring在遇到歧义性的时候要选择首选的bean。方法二:使用自定义的...原创 2019-08-22 23:42:00 · 82 阅读 · 0 评论 -
Spring4.0 学习(第一天)---- 通过Java代码(JavaConfig----@Configuration)装配bean (解决第三方类库无法使用自动装配的情况)
尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置Spring。比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添 加@Component和@Autowired注解的,因此就不能使用自动化装配的方案了。 在这种情况下,你必须要采用显式装配的方式。在进行显式配置的时候,有两种可选...原创 2019-08-22 22:08:14 · 519 阅读 · 0 评论 -
Spring4.0 学习(第一天)-------自动装配Bean(@Autowired @Component @ComponentScan)
在Spring中,对象无需自己查找或创建与其所关联的其他对象。相反,容器负责把需要相互协作的对象引用赋予各个对象。例如,一个订单管 理组件需要信用卡认证组件,但它不需要自己创建信用卡认证组件。订单管理组件只需要表明自己两手空空,容器就会主动赋予它一个信用卡 认证组件。 创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入(DI)的本质。Spring容器负责...原创 2019-08-22 21:31:43 · 210 阅读 · 0 评论 -
Spring4.0 学习(第一天)-------Spring框架组成
Spring核心容器 容器是Spring框架最核心的部分,它管理着Spring应用中bean的创建、配置和管理。在该模块中,包括了Spring bean工厂,它为Spring提供了 DI的功能。基于bean工厂,我们还会发现有多种Spring应用上下文的实现,每一种都提供了配置Spring的不同方式。 除了bean工厂和应用上下文,该模块也提供了许多企业...原创 2019-08-22 18:56:09 · 97 阅读 · 0 评论 -
Spring4.0 学习(第一天)-------bean的生命周期
1.Spring对bean进行实例化; 2.Spring将值和bean的引用注入到bean对应的属性中; 3.如果bean实现了BeanNameAware接口,Sprin 将bean的ID传递给setBean-Name()方法; 4.如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入;...原创 2019-08-22 18:20:38 · 59 阅读 · 0 评论 -
Spring4.0 学习(第一天) -------------Spring容器
DI(依赖注入)能够让相互协作的软件组件保持松散耦合,而面向切面编程(aspect-oriented programming,AOP)允许你把遍布应用各处的功能分离出来形成可重用的组件。 在基于Spring的应用中,你的应用对象生存于Spring容器(container)中,Spring容器负责创建对象,装配它们,配置它们并管理它们的整个生命周期,从生存到死亡...原创 2019-08-22 18:15:19 · 66 阅读 · 0 评论 -
Spring4.0 学习(第一天) ------------- 学习初期的知识梳理
Spring框架的核心: 1 . Spring容器 2. DI: 依赖注入 3. AOP: 面向切面编程 Spring的目标是致力于全方位的简化Java开发 为了降低Java开发的复杂性,Spring采取了以下4种关键策略: 1. 基于POJO的轻量级和最小侵入性编程; 2....原创 2019-08-22 16:23:00 · 89 阅读 · 0 评论 -
Spring4.0 学习(第三天)-------渲染Web视图(Tymeleaf模板)
编写处理Web请求的控制器。创建视图,用来渲染控制器产生的模型数据。理解视图解析 如果控制器只通过逻辑视图名来了解视图的话,那Spring该如何确定使用哪一个视图实现来渲染模型呢?这就是Spring视图解析器的任务了。 我们将会看一个没有列在表6.1中的视图解析器。Thymeleaf是一种用来替代JSP的新兴技术,Spring提供了与Thymeleaf的原生模板(natu...原创 2019-08-24 23:01:48 · 459 阅读 · 0 评论 -
Spring4.0 学习(第三天)------- 控制器Controller
你可能注意到的第一件事情就是HomeController带有@Controller注解。很显然这个注解是用来声明控制器的,但实际上这个注解对Spring MVC本身的影响并不大。HomeController是一个构造型(stereotype)的注解,它基于@Component注解。在这里,它的目的就是辅助实现组件扫描。因为HomeController带有@Controller注解,因此...原创 2019-08-24 22:09:03 · 92 阅读 · 0 评论 -
Spring4.0 学习(第三天)------- 跟踪Spring MVC的请求
请求是一个十分繁忙的家伙。从离开浏览器开始到获取响应返回,它会经历好多站,在每站都会留下一些信息同时也会带上其他信息。图5.1展示了请求使用Spring MVC所经历的所有站点。 在请求离开浏览器时 ,会带有用户所请求内容的信息,至少会包含请求的URL。还可能带有其他的信息,例如用户提交的表单信息。 请求旅程的第一站是Spring的DispatcherServ...原创 2019-08-24 20:39:45 · 393 阅读 · 0 评论 -
Spring4.0 学习(第二天)-------Spring AOP 核心概念
并不是所有的AOP框架都是相同的,它们在连接点模型上可能有强弱之分。有些允许在字段修饰符级别应用通知,而另一些只支持与方法调用相关的连接点。它们织入切面的方式和时机也有所不同。但是无论如何,创建切点来定义切面所织入的连接点是AOP框架的基本功能。Spring提供了4种类型的AOP支持: 1. 基于代理的经典Spring AOP; (不解释)2. 纯POJO切面; (需要XML配置)...原创 2019-08-24 01:18:55 · 160 阅读 · 0 评论 -
Spring4.0 学习(第五天)------- NoSQL--------使用MongoDB持久化文档数据
MongoDB是最为流行的开源文档数据库之一。Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB: 1. 通过注解实现对象-文档映射; 2. 使用MongoTemplate实现基于模板的数据库访问; 3. 自动化的运行时Repository生成功能。 与Spring Data JPA不同的是,Spring Data MongoDB提供了将Ja...原创 2019-08-27 08:50:46 · 160 阅读 · 0 评论