码迷,mamicode.com
首页 > 编程语言 > 详细

Spring注解(持续更新)

时间:2018-04-27 19:53:03      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:class   control   封装   写入   ant   context   映射   指令   params   

Spring

 

注解

  1. 在Spring中,标识一个@符号,Spring会优先查看该指令
  2. Spring配置文件对应的是父容器,SpringMVC配置文件对应的是子容器,前者做一般配置数据源,事务,注解等, 后者配置控制层相关(Controller)

@Controller

         在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,把用户请求的数据经过业务处理之后封装成为一个Model,再把该Model返回给对应的View进行展示.

 使用@Controller标记类是一个Controller,@RequestMapping,@RequestParam等一些注解用于定义映射  

 技术分享图片 

  @Controller声明MyController是一个controller对象,一旦有某个类声明了@Controller注解,在容器启动的时候就会自动加载到Spring的Bean工厂中,所以不需要new

 

  @RestController 等价于@Controller+@ResponseBody 即加上返回json的功能

 

@Bean

         @Bean是一个方法级别上的注解,主要用于@Configuration注解的类里,也可用于@Component注解的类里

         @Bean对应Spring的xml中<bean>     @Configuration对应Spring的xml中<beans>

         @Bean注解用于告诉方法,产生一个Bean对象,然后将该Bean对象交由Spring管.产生的这个Bean对象只会被Spring调用一次,随后Spring会把该对象存入IOC容器中

        技术分享图片

         此处若是@Bean没有指定名称,则在调用时取方法名,即context.getBean(“getBean”)

 

@RequestMapping

         @RequestMapping注解会把HTTP请求映射到SpringMVC和REST控制器的处理方法上

         @RequestMapping可以在类级别,也可以在方法级别上使用

 

         @RequestMapping(value={“”,”/”,”aba*/”})

         //value为多个意味着多个地址映射到一个类/方法

 

         @RequestMapping(value=”hha”,params={“person=20”})

         //只处理/param?person=20 的连接

        

   (@RequestParam(value=“arg”,required=false) String str)

         //若是请求参数与处理方法的参数一至,则value无值       value=arg   www.XXX.xx?arg=1

          required=yes 说明必须传参

          defaultValue 默认取值

 

         @RequestMapping处理HTTP方法

                   @RequestMapping(method=RequestMethod.GET/POST/DELETE/PUT…)

                   快捷方式 @GetMapping,@PostMapping,@PutMapping

                   @GetMapping{“/person/{id}”};

 

         @ResponseBody     将后续的方法返回解雇以I/O流写入到浏览器

 

@Value

         若是在Controller中配置@Value,则需要在SpringMVC配置文件中配置:

         <context:property-placeholder location=”classpath:{my variable}.properties”/>

 

  不通过配置文件

         @Value(“hah”)

         Private String str;              //不通过配置文件注入字符串

         @Value(“#{beanInject.anther}”)

         Private String fromAntherBean;               //不通过配置文件注入其他Bean属性

  通过配置文件

         配置文件主要有两类

  1. application.properties.  application.properties在Spring Boot启动时自动加载此文件
  2. 自定义属性文件  自定义属性文件通过@PropertySource加载.可以同时加载多个文件. 如果第一个属性文件和第二个属性文件存在相同key,以第二个为准

 技术分享图片

 

@SpringBootApplication

         包含三个注解:@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan

 

  @SpringBootConfiguration

         使用@Configuration+@Bean可以创建简单的配置类,取代xml

         @SpringBootConfiguration标识这个类可以使用Spring IOC作为bean定义的来源

         @Bean告诉Spring,该对象作为在Spring上下文中的bean

 技术分享图片

 

  @EnableAutoConfiguration

         自动配置Spring上下文,根据路径与bean定义自动配置.

 

  @ComponentScan

         自动扫描指定包下的全部标有@Component的类,并注册为bean,包括@Component的子注解@Service,@Repository,@Controller

 

Spring注解(持续更新)

标签:class   control   封装   写入   ant   context   映射   指令   params   

原文地址:https://www.cnblogs.com/cyx-garen/p/8963558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!