Spring MVC系列-(2) Bean的装配】的更多相关文章

2. Bean的装配 Spring容器负责创建应用程序中的bean,并通过DI来协调对象之间的关系.Spring提供了三种主要的装配机制: XML显式配置: Java配置类进行显式配置: 隐式的bean发现机制和自动装配. 推荐使用Java配置类结合隐式的自动bean扫描机制. 2.1 通过XML装配Bean XML配置是Spring刚出现时的主要配置方式.这种方式需要手动编写XML,并在其中配置好Bean的定义. 创建XML并定义Bean 下面是Person类的定义, public class…
3. 高级装配Bean 3.1 Bean的作用域 默认情况下,Spring中的bean都是以单例的形式存在的,无论注入多少次,每次注入的都是同一个实例. 考虑到某些bean可能是可变的,Spring定义了不同的作用域,可以基于这些作用域创建不同的bean, 单例是默认的作用域,如果选择@Scope注解选择其他作用域,这可以和@Component和@Bean一起使用. @Configuration public class Cap3MainConfig { //给容器中注册一个bean, 类型为返…
[Spring MVC系列]--(4)返回JSON 摘要:本文主要介绍如何在控制器中将数据生成JSON格式并返回 1.导入包 (1)spring mvc 3.0不需要任何其他配置,添加一个jackson的架包,既可以支持的, 貌似现在只有3.0版本以上才支持整合json哦. (2)json并不是向下兼容的,有些高版本是不能用的,伤不起....最后看到了1.1版本还是支持的,于是就下载了1.1.2的版本. 于是两个jar包就是:jackson-core-asl-1.1.2.jar和jackson-…
Spring mvc系列一之 Spring mvc简单配置-引用 Spring MVC做为SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构 Spring 的 Web MVC 框架是围绕 DispatcherServlet 设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射.视图解析.本地语言.主题解析以及上载文件支持. 下面看一下Spring mvc 的简单配置入门: 首先新建一个…
2.1 回顾 对于我第一天在bean的装配中写的,是一些基本的语法或者是Spring本身的一些规定,但是我没有对此进行深究.接下来就让我们仔细的讨论一下细节问题.和传统的类的定义和方法的调用做一些比较.这样就会体现出Ioc的特点. 下面的UML图就是我之前定义的一个接口和自己的一个实现. public interface CompactDisc { void play(); } @Component public class SgtPeppers implements CompactDisc {…
1 自动化装配bean Spring通过两个方面实现对bean的自动装配 1 ) 组件扫描(component scaning):Spring会自动发现Spring上下文中的bean 2 ) 自动装配(autowriting):Spring自动满足bean之间的依赖 1.1 创建可被发现的bean 现在我们创建一个接口: public interface CompactDisc { void play(); } 接着来一个实现类: import org.springframework.stere…
Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系,少写几个ref autowire: no ---默认情况,不自动装配,通过ref手动引用 byName---根据名字自动装配 byType---根据类型自动装配 constructor---根据构造函数参数的数据类型,进行byType模式的自动装配. (麻烦,不推荐) autodetect--- 首先尝试使用constructor进行自动装配,如果失败,再使用byType进行自动装配(麻烦,不推荐) 看一个例…
Spring容器负责创建应用程序中的bean并通过依赖注入来协调这些对象之间的关系.但是,作为开发人员,要告诉Spring需要创建哪些bean并且如何将其装配在一起.当描述bean如何装配时,Spring提供了两种主要的配置方式. 基于Java的配置 隐式配置 Spring通过组件扫描来实现隐式配置. 组件扫描 如果在类上使用了@Component注解,则表明该类会作为组件类,并告知Spring要为这个类创建bean. 组件扫描默认不开启,需要在配置类上使用@ComponentScan注解.默认…
Bean的作用域 Spring应用中,对象实例都是在Container中,负责创建.装配.配置和管理生命周期(new到finalize()) Spring Container分为两种: 1.BeanFactory:提供DI支持 2.ApplicationContext:基于BeanFactory构建,提供应用框架级别的服务 使用应用上下文: 1.AnnotationConfigApplicationContext:从一个或多个基于Java的配置类中加载Spring应用上下文 2.Annotati…
1.Spring MVC是什么: Spring MVC:Spring框架提供了构建Web应用程序的全功能MVC模块. 2.Spring helloWorld应用(基于Spring 4.2) 1.添加Spring的支持,加入jar包.包括9个jar包(下载Spring4.2以及commons-logging-1.2) commons-logging-1.2.jar spring-aop-4.2.0.RELEASE.jar spring-beans-4.2.0.RELEASE.jar spring-…
前言 上一节我们在SpringBoot中启用了Spring MVC最终输出了HelloWorld,本节我们来讲讲Spring MVC中的模型绑定,这个名称来源于.NET或.NET Core,不知是否恰当,我们暂且这样理解吧. @RequestParam VS  @PathVariable 一看注解名称应该非常好理解,注解@RequestParam主要用来获取查询字符串参数,而注解@PathVaruable用于获取路由参数,下面我们来看如下一个例子: @ResponseBody @RequestM…
前言 前面我们了解了Spring MVC的基本使用,其实和.NET或.NET Core MVC无异,只是语法不同而已罢了,本节我们将和和数据库打交道,从最基础的JDBC讲解起,文中若有错误之处,还望指正. JDBC Demo 我们需要下载三个包:JDBC驱动包(mysql-connector-java).spring boot启用jdbc(spring-boot-starter-jdbc).对数据进行序列化的json包(jackson-databind),如下: <dependency> &l…
1. Spring概述 本章主要介绍Spring中的体系结构和常见概念,比如bean.控制反转(Inverse of Control,IoC)等. 1.1 体系结构 Spring 框架提供约 20 个模块,可以根据应用程序的要求来使用. 核心容器 核心容器由核心,Bean,上下文和表达式语言模块组成,它们的细节如下: 核心模块提供了框架的基本组成部分,包括 IoC 和依赖注入功能. Bean模块提供 BeanFactory,它是一个工厂模式的复杂实现. 上下文模块建立在由核心和 Bean 模块提…
阅读对象 搭框架人员,或者其他感兴趣的开发人员 背景 一般来说在业务代码中,加上 @Component, @Service,@Repository, @Controller等注解就可以实现将bean注册到Spring中了. 但是在写框架,可能有些类会动态生成,怎么动态注册到Spring中呢? BeanDefinitionRegistryPostProcessor 接口 BeanDefinitionRegistryPostProcessor接口是一个可以修改spring工厂中已定义的bean的接口…
1.目录结构 2.代码 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h…
1.导入jar包 ioc mvc 复制spring-mvc.xml到src目录下. 2.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i…
5 AOP 5.1 什么是AOP AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善. OOP引入封装.继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合.当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力.也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系.例如日志功能.日志代码往往水平地散布在所有对象层次中,而与它所散…
1.java反射 实用:JAVA反射机制及应用例子 http://407827531.iteye.com/blog/1173930 系统:java反射原理 http://china-jianchen.iteye.com/blog/728774 JAVA 反射机制是Java 被视为动态(或准动态)语言的一个关键性质. 这个机制允许程序在运行时通过Reflection APIs 取得任何一个已知名称的class 的内部资讯, 包括其modifiers(诸如public, private,static…
一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组件扫描默认是不启动的,需要显式的配置Spring,从而命令Spring去寻找带有(@Component)注解的类,并为其创建bean. 1.定义接口 package com.seven.springTest.service; public interface HelloWorldApi { publ…
Spring mvc源码分析系列--前言 前言 距离上次写文章已经过去接近两个月了,Spring mvc系列其实一直都想写,但是却不知道如何下笔,原因有如下几点: 现在项目开发前后端分离的趋势不可阻挡.Spring mvc这一套里面部分内容稍显落后了,例如视图部分可以说是耦合前端的逻辑,现在的后端也很少再会去写jsp之类的东西.所以在现在看来,似乎是有一点落后于时代了.现在再去分析Spring mvc的实现,是不是有点吃力不讨好. 项目开发中SpringBoot的广泛使用.SpringBoot提…
基础准备: Spring MVC为文件上传提供了直接支持,这种支持来自于MultipartResolver.Spring使用Jakarta Commons FileUpload技术实现了一个MultipartResolver:CommonsMultipartResolver. Spring MVC上下文中默认没有装配MultipartResolver,因此我们需要配置它. <!-- 文件上传 --> <bean id="multipartResolver" class…
MVC 设计概述 在早期 Java Web 的开发中,统一把显示层.控制层.数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1: 出现的弊端: JSP 和 Java Bean 之间严重耦合,Java 代码和 HTML 代码也耦合在了一起 要求开发者不仅要掌握 Java ,还要有高超的前端水平 前端和后端相互依赖,前端需要等待后端完成,后端也依赖前端完成,才能进行有效的测试 代码难以复用 正因为上面的种种弊端,所以很快这种方式就被 Servlet + JSP…
spring mvc可以通过整合hibernate来实现与数据库的数据交互,也可以通过mybatis来实现,这篇文章是总结一下怎么在springmvc中整合mybatis. 首先mybatis需要用到的包如图所示: 下面是mybaits的配置文件,写的地方由你决定,在这里我写在mybatis-servlet.xml中,因为我在web.xml中设置了在tomcat启动时会加载所有以servlet.xml结尾的文件. web.xml中的部分代码(涉及到数据源的东西,在你的基础上加上就行),详细的请查…
简介: Spring MVC为文件上传提供了直接的支持,这种支持使用即插即用的MultipartResolver实现的.Spring MVC 使用Apache Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver.因此,Spring MVC的文件上传还需依赖Apache Commons FileUpload的组件. 示例:Spring MVC的文件上传 uploadForm.jsp: <html> <…
昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ Spring Cloud 的技术干货,本文长期更新. Spring 系列 Java 必看的 Spring 知识汇总 Spring 5.0 正式发布了 Spring的核心模块解析 Spring的生态 获取 ApplicationContext 的几种方式 一张图搞懂 Spring bean 的完整生…
Spring MVC[入门]就这一篇! MVC 设计概述 在早期 Java Web 的开发中,统一把显示层.控制层.数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1: 出现的弊端: JSP 和 Java Bean 之间严重耦合,Java 代码和 HTML 代码也耦合在了一起 要求开发者不仅要掌握 Java ,还要有高超的前端水平 前端和后端相互依赖,前端需要等待后端完成,后端也依赖前端完成,才能进行有效的测试 代码难以复用 正因为上面的种种弊端,所以很快…
MVC 设计概述 在早期 Java Web 的开发中,统一把显示层.控制层.数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1:     出现的弊端: JSP 和 Java Bean 之间严重耦合,Java 代码和 HTML 代码也耦合在了一起 要求开发者不仅要掌握 Java ,还要有高超的前端水平 前端和后端相互依赖,前端需要等待后端完成,后端也依赖前端完成,才能进行有效的测试 代码难以复用 正因为上面的种种弊端,所以很快这种方式就被 Servlet +…
Spring MVC 开始配置 转载:http://www.cnblogs.com/yangchongxing/p/8871370.htm 学习搭建最简单的Spring MVC框架. ===============================================================l 目录 Java配置方式 Xml配置方式 ================================================================ Jar包下载地址…
1.文件上传.      spring MVC为文件上传提供了直接的支持,这种支持是即插即用的MultipartResolver(多部分解析器)实现的.spring MVC使用Apache Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver.因此,spring MVC的文件上传还需要依赖Apache Commons FileUpload的组件. spring MVC上下文中默认没有装配MultipartRe…
本文是Spring MVC系列博客的第一篇,后续会汇总成贴子. Spring MVC是Spring系列框架中使用频率最高的部分.不管是Spring Boot还是传统的Spring项目,只要是Web项目都会使用到Spring MVC部分.因此程序员一定要熟练掌握MVC部分.本篇博客就简要分析下Spring MVC的启动流程,帮助我们更好的理解这个框架. 为什么要写这篇博客 Spring的MVC框架已经出来很久了,网上介绍这部分的博客有很多很多,而且很多肯定比我自己写的好,那我还为什么要写这篇博客呢…