day33_Spring学习回顾_01

1、导入jar包:4 + 1 --> beans/core/context/expression + commons-logging

2、编写目标类:dao 和 service

3、spring配置文件         IoC:<bean id="" class=""></bean>         DI:<bean><property name="" value="" | ref=""></property></bean>

 实例化方式:             默认构造             静态工厂:<bean id="" class="工厂类全限定类名" factory-method="静态方法名称"></bean>             实例工厂:<bean id="工厂的id" class="工厂类"></bean>                             <bean id="" factory-bean="工厂的id" factory-method="方法名称"></bean>

            作用域:<bean id="" class="" scope="singleton | prototype"></bean>

            生命周期:<bean id="" class="" init-method="" destroy-method=""></bean>             后处理bean:实现BeanPostProcessor接口,<bean class="后处理的实现类的全类名"></bean>,对容器中所有的bean都生效。

属性注入:             构造方法注入:<bean><constructor-arg index="" type=""></bean>             setter方法注入:<bean><property name="" value="" | ref=""></bean></bean>             p命名空间:简化<property> 格式:<bean p:属性名="普通值" p:属性名-ref="引用值"></bean>                 注意:使用p命名空间需要先声明命名空间。             SpEL:<property name="" value="#{表达式}">                 #{123} #{'abc'}                 #{beanId.propName?.methodName()}                 #{T(类).静态方法|字段}             集合注入                 数组 <array> ...</array>                 List <list>...<list>                 Set <set>...<list>                 Map <map><entry key="" value=""></entry>...</map>                 Properties <props><prop key=""></prop>...</props>

4、核心api         BeanFactory,延迟实例化bean,第一次调用getBean(); 时才会初始化Bean。         ApplicationContext 一般常用,功能更强,采取非延时加载,当配置文件被加载时,就进行对象的实例化。             ClassPathXmlApplicationContext 加载classpath中的xml文件             FileSystemXmlApplicationContext 加载指定盘符的文件,ServletContext.getRealPath()

5、使后处理bean 只对一个<bean>生效

@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
​    // 使后处理bean 只对一个<bean>生效
    if("userServiceId".equals(beanName)) {
        System.out.println("执行了前方法:" + beanName);
    }
        return bean;
 }

6、注解         1、先配置扫描含有注解的类               <context:component-scan base-package="....">         2、常见的注解               @Component 组件,注入任意bean         WEB             @Controller        web层             @Service             service层             @Repository       dao层         注入字段或setter方法             普通值:@Value             引用值:                 按类型:@Autowired                 按名称1:@Autowired @Qualifier("名称")                 按名称2:@Resource("名称")         作用域:@Scope("prototype")         生命周期:             初始化:@PostConstruct             销毁方法:@PreDestroy

7、注解和xml混合使用     1.将所有的bean都配置xml中         <bean id="" class=""></bean>     2.将所有的依赖都使用注解         @Autowired             默认不生效。为了生效,需要在xml配置:<context:annotation-config>

  总结:         注解1:<context:component-scan base-package=" ">         注解2:<context:annotation-config>             1、一般情况两个注解不一起使用。             2、 “注解1”扫描含有注解(@Component 等)类,注入的注解自动生效。                   “注解2”只在xml和注解(注入)混合使用时,使注入的注解生效。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微服务生态

Flume-NG源码分析-整体结构及配置载入分析

终于开始Flume源码的分析研究工作了,我也是边学边和大家分享,内容上难免有不足之处,望大家见谅。

1374
来自专栏静默虚空的博客

[Spring]04_最小化Spring XML配置

4.1 自动装配 Bean Spring 装配 bean 时,有时非常明确,就是需要将某个 bean 的引用装配给指定属性。 例如,若应用上下文中只有一个 j...

19910
来自专栏Gaussic

Spring MVC绑定 List 对象参数 原

       最近做的一个小小的项目碰上了如何用 post 传递一整个 list 的问题,在解决这个问题的同时,也顺带升级一下 Spring 的版本,并精简一下...

2001
来自专栏日常分享

抛开深层次底层,快速入门SpringMVC

SpringMVC主要有三个核心部分组成,DispatcherServlet、Controller、ViewResolver。      Dispatche...

1103
来自专栏程序猿DD

【译】Spring 官方教程:创建批处理服务

原文:Creating a Batch Service 译者:Mr.lzc 校对:lexburner 本指南将引导你完成创建基本的批处理驱动解决方案的过程。 你...

5407
来自专栏黑泽君的专栏

day63_SpringMVC学习笔记_01

(1)使用eclipse,创建一个动态的web工程   其中Dynamic web module version版本选择 2.5,这样兼容性好一些;   Def...

901
来自专栏机器学习从入门到成神

临界区、互斥量、信号量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

1972
来自专栏阿杜的世界

Restful: Spring Boot with Mongodb

继续之前的dailyReport项目,今天的任务是选择mongogdb作为持久化存储。

912
来自专栏一个会写诗的程序员的博客

《Spring Boot极简教程》第9章 Spring Boot集成Scala混合Java开发参考资料

本章我们使用Spring Boot集成Scala混合Java开发一个Web性能测试平台。

1952
来自专栏JavaQ

深入理解Spring系列之十一:SpringMVC-@RequestBody接收json数据报415

网上对这个问题的分析及解决不是很深入,大部分并不能解决问题,而且内容基本相同,拿来主义把内容放在自己的博客上!本篇将深入Spring源码来分析问题出现的根本原因...

4309

扫码关注云+社区

领取腾讯云代金券