spring自定义注解

Spring MVC 文件上传下载

南楼画角 提交于 2020-02-07 02:53:45
本文基于 Spring MVC 注解,让Spring跑起来 。 (1) 导入jar包:ant.jar、commons-fileupload.jar、connom-io.jar。 (2) 在src/context/dispatcher.xml中添加 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8" /> 注意,需要在头部添加内容,添加后如下所示: <beans default-lazy-init="true" xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi

SpringMVC 入门

空扰寡人 提交于 2020-02-06 23:53:09
SpringMVC 框架概述 Spring Web MVC是基于Servlet API构建的传统Web框架,并且从一开始就已包含在Spring框架中 与Spring Web MVC并行,Spring Framework 5.0引入了一个新的反应式Web框架,其名称“ Spring WebFlux; 理解: 首先SpringMVC 是一个MVC构架模式的web框架,是基于Servlet的,从Spring第一个版本就一起推出了, 传统web框架,指的是SpringMVC依然使用多线程同步并发的方式来处理请求,现如今大家都在鼓吹异步并发多么多么好,从测试数据来看异步并发效率的确更好,但是其并不成熟,极大多数公司项目还没有更新到异步技术,盲目的进行重构可能会引发更多的问题, 并且异步编程在代码结构上会产生较大的变化,对于初学者而言,掌握难度是较大的; 构架图: Spring-MVC在系统中的位置 可以看出 SpringMVC 并没有代替Servlet,它只是在Servlet上提供了一套封装好的组件,提高开发效率; 还使得开发出的项目更加规范;否则每个人可能有每个人不同的MVC; SpringMVC核心组件 思考: 若没有SpringMVC框架,我们该如何去编写一个较大的web项目呢,可以发现在选课系统中出现了大量的Servlet,因为一个请求地址就需要一个Servlet,使得项目体积变大

spring介绍

那年仲夏 提交于 2020-02-06 03:13:35
1.DI 依赖注入 在Spring框架中,两个组件对象之间具有依赖关系(使用和被使用),依赖注入技术就是将被使用者对象给使用者对象传进去. *1)setter方式注入(推荐) a.在使用者中,定义"接口类型"的变量和setter方法 b.在spring容器配置中,添加<property name="属性" ref="要注入的对象名"> 2)构造方式注入 a.在使用者中,定义"接口类型"的变量和带参数的构造方法 b.在spring容器配置中,添加<constructor-arg index="参数索引" ref="要注入的对象名"/> *2.IOC IOC Inversion Of Controll 反向控制,控制转移 在Spring中利用DI技术,实现了IOC机制,将两个组件解耦. 控制权:可以指定调用关系,可以创建对象,可以管理和释放对象. 一般编程,使用者具有控制权,可以指定调用哪个组件,负责创建对象这些工作;但是基于Spring框架之后, 使用者控制权转移到了Spring容器,由Spring容器负责这些工作. 采用了IOC之后,如果底层组件(DAO)发生替换,只要修改Spring容器的配置,不需要修改上层组件(Action), 将组件进行了解耦,增强了程序结构的灵活性. 3.各种类型值注入的格式 1)基本类型值的注入格式 <property name="size">

如何将一个对象或者类注册到Spring容器

て烟熏妆下的殇ゞ 提交于 2020-02-05 21:16:02
1 将类注册到到Spring容器 该类的实例化和初始化过程由spring控制。 方法一:xml注册Bean xml注册Bean,如果spring配置元数据的方式是xml时,可以手动在xml注册第三方jar包中的类。常用来配置本项目中的Bean。 <bean id="service1" class="stu.spring.services.Service1"></bean> 方法二:@Componen 扫描注解,如果spring配置元数据的方式是注解时,指定扫描包然后给类上加@Component注解就可以。常用来扫描本项目中的Bean。 xml指定扫描包: <context:component-scan base-package="stu.spring.lifecycle"></context:component-scan> Java Configuration指定扫描包: @Configuration @ComponentScan("stu.spring.services") public class AppConfig { } 方法三:@Configuration spring配置元数据的方式使用Java Configuration时,指定配置类的注解,spring该注解spring在实例化该类的对象时是先通过cglib代理生成代理类,再实例化对象。 @Configuration

Spring Boot的自动配置

家住魔仙堡 提交于 2020-02-05 04:16:47
Spring Boot的自动配置 --摘自 https://www.hollischuang.com/archives/1791 随着Ruby、Groovy等动态语言的流行,相比较之下Java的开发显得格外笨重。繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大等问题一直被人们所诟病。随着Spring家族中的新星Spring Boot的诞生,这些问题都在逐渐被解决。 个人觉得Spring Boot中最重要的两个优势就是可以使用starter简化依赖配置和Spring的自动配置。 使用starter简化依赖配置 Spring提供了一系列starter来简化Maven配置。其核心原理也就是Maven和Gradle的依赖传递方案。当我们在我们的pom文件中增加对某个starter的依赖时,该starter的依赖也会自动的传递性被依赖进来。而且,很多starter也依赖了其他的starter。例如web starter就依赖了tomcat starter,并且大多数starter基本都依赖了spring-boot-starter。 Spring自动配置 Spring Boot会根据类路径中的jar包、类,为jar包里的类自动配置,这样可以极大的减少配置的数量。简单点说就是它会根据定义在classpath下的类,自动的给你生成一些Bean

Spring装配Bean

雨燕双飞 提交于 2020-02-05 00:29:13
文章目录 1. 原始方式:通过XML装配Bean 2. 通过注解的方式来装配Bean 3. 自动装配Bean 注解扫描 类型扫描 自定义扫描 4. Scope扫描规则 5. 懒加载 1. 原始方式:通过XML装配Bean 创建maven项目 添加依赖: < ? xml version = "1.0" encoding = "UTF-8" ? > 来源: CSDN 作者: Dcwjh 链接: https://blog.csdn.net/Dcwjh/article/details/104167116

理解依赖注入(DI - Dependency Injection)

北慕城南 提交于 2020-02-04 23:49:16
系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Control – IOC) 理解依赖注入(DI – Dependency Injection) Bean XML 配置(1)- 通过XML配置加载Bean Bean XML 配置(2)- Bean作用域与生命周期回调方法配置 Bean XML 配置(3)- 依赖注入配置 Bean XML 配置(4)- 自动装配 Bean 注解(Annotation)配置(1)- 通过注解加载Bean Bean 注解(Annotation)配置(2)- Bean作用域与生命周期回调方法配置 Bean 注解(Annotation)配置(3)- 依赖注入配置 Bean Java配置 Spring 面向切面编程(AOP) Spring 事件(1)- 内置事件 Spring 事件(2)- 自定义事件 依赖注入(Dependency Injection, DI)是一种设计模式,也是Spring框架的核心概念之一。其作用是去除Java类之间的依赖关系,实现松耦合,以便于开发测试。为了更好地理解DI,先了解DI要解决的问题。 耦合太紧的问题 如果使用一个类,自然的做法是创建一个类的实例: class Player{

Spring学习笔记(六)

有些话、适合烂在心里 提交于 2020-02-03 17:19:29
处理自动装配的歧义性 仅有一个 bean 匹配所需的结果时,自动装配才是有效的。如果不仅有一个 bean 能够匹配结果的话,这种歧义性 Spring 自动装配。 例如下面案例 实体类 @Component public class IceCream implements Dessert { @Override public void show() { System.out.println("获得冰淇淋"); } } @Component public class Cake implements Dessert { @Override public void show() { System.out.println("获得蛋糕"); } } 业务类 @Component public class MyService { private Dessert dessert; public void show(){ dessert.show(); } @Autowired public void setDessert(Dessert dessert) { this.dessert = dessert; } } 测试 public static void main(String[] args) { ApplicationContext context = new

面试题: SpringBoot 的自启动原理

与世无争的帅哥 提交于 2020-02-01 21:16:24
引言 不论在工作中,亦或是求职面试, Spring Boot 已经成为我们必知必会的技能项。除了比较老旧的政府项目或金融项目依旧使用如 SSM 或 SSH 做单体框架开发项目外,如今的各行各业基于项目的快速开发与发布、迭代更新,都在逐渐替换使用 Spring Boot 框架,而逐步摒弃配置沉重和效率低下的 Spring 启动框架。 使用一门新的技术,立足于对它足够了解的基础上,能够让你更加得心应手的去进行应用、开发。SpringBoot 的精髓 “自动配置原理” 不仅仅是在面试过程中才用的上;在工作中如果能深入理解Spring Boot 的自动配置原理,我们就可以根据自己的需求自定义一个 started 满足开发的需求,让开发更加便捷与高效。 Spring Boot的出现,得益于“习惯优于配置”的理念,没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成),这是基于Spring 4.x提供的 按条件配置 Bean的能力。 本篇博文主要针对三个方面进行分析、讲解;这三个方面分别是: Spring Boot 与 Spring 的差别与优点?以及与 Spring MVC 的关系? Spring Boot 主启动类的启动机制 Spring Boot 的 自动配置原理是怎么实现的? 根据自动配置原理自定义一个 个性的 started ? 1、 Spring Boot 与 Spring

SpringMVC基础知识整理

£可爱£侵袭症+ 提交于 2020-02-01 15:58:32
目录 三层架构 MVC模型 SpringMVC概述 springmvc是什么 springmvc和structs2比较 springmvc 环境搭建 spring的配置文件头部 入门程序编写 springmvc工作流程(原理) 解决post请求中文乱码问题(使用过滤器filter) 请求参数绑定 自定义类型转换器 获取原生servlet的API 常见注解 @RequestMapping @RequestParam @RequestBody @PathVariable @RequestHeader(用的较少) @CookieValue @ModelAttribute @SessionAttributes restful编程风格 响应请求的四种方式 响应之后返回值是string类型 响应之后返回值是void类型 响应之后返回值是ModelAndVies类型 使用forward和redirect关键字进行页面跳转 发送ajax请求并响应(数据传输以json格式进行传输) 文件上传 传统方式 springmvc文件上传 跨服务器实现文件上传 springmvc的异常处理 异常处理思路 springmvc异常处理示例小代码 springmvc拦截器 springmvc拦截器入门小程序 三层架构 我们的开发一般有两种形式:C/S架构,B/S架构,在JavaEE开发中,几乎都是基于B