伤寒杂病论Spring经验总结

一 区别注解

1.声明bean相关

@Component  不好定义的组件采用此声明

@Controller  控制层组件定义,例如struts2的action

@Service   业务层组件定义

@Repository 数据持久层,即DAO层的组件定义。

通常以上四者没有区别,但是依旧希望采用上述方法来声明不同bean,因为spring未来可能会给每个赋予特殊的功能

2.注入bean相关

@Resource与@Autowired功能相同,

@Autowired按byType自动注入

@Resource默认按
byName自动注入。

不声明,默认采用byName自动注入策略。

在注入多个bean中无法确认准确注入的bean时,可以通过@Qualifier 进行指定

3.生命方法相关

被注解一下2个关键字的方法会进行执行。他们的执行时间为

@PostConstruct  实例初始化之后

@PreDestroy     实例销毁之前

二 配置相关

1.关于spring的配置方面:

1.Spring2.5之后的自动扫描机制,自动将以上注解的类添加到spring的容器中管理

<context:component-scanbase-package=”需要扫描的包,*可以表示所有”>

[email protected](“prototype”)可以更改spring的的生命周期

scope分类

1.singleton(单一实例)

2.prototype

3. request ,session和globalsession

其中request可以看做prototype的一种特例

request/session适应于web程序,范围于servlet的scope一样。

globalsession适用于Portlet组件,用在servlet和session一样

2.关于web.xml配置方面

配置的加载顺序为

listener >> filter >> servlet >> spring

在不同模块之间如有调用关系,可通过提升该模块的优先级来提高调用顺序。

附:

spring相关会在这里总结。欢迎拍砖&补充。后面会总结出在高并发性分布式系统中spring出现的问题。

时间: 2024-10-04 00:27:15

伤寒杂病论Spring经验总结的相关文章

Dropwizard与Spring Boot比较

在这篇文章中我们将讨论的Java轻量级框架Dropwizard和Spring Boot的相似性和差异. 首先,这是一个选择自由和速度需要,无论你在Dropwizard和Spring Boot选择哪个,这两个框架自身都显得有点固执己见,他们都坚信约定优于配置,那么是如何固执呢?你会发现,在我们进行比较以后,它们每个都混入了第三方库包,大部分并不是核心功能需要而是出于集成需要.这种牺牲的好处是获得好的性能.下面图中使用白色显示依赖包. Spring的依赖 Spring Boot聚焦于Spring应用

SOA专题---Dropwizard与Spring Boot比较

在这篇文章中我们将讨论的Java轻量级框架Dropwizard和Spring Boot的相似性和差异. 首先,这是一个选择自由和速度需要,无论你在Dropwizard和Spring Boot选择哪个,这两个框架自身都显得有点固执己见,他们都坚信约定优于配置,那么是如何固执呢?你会发现,在我们进行比较以后,它们每个都混入了第三方库包,大部分并不是核心功能需要而是出于集成需要.这种牺牲的好处是获得好的性能.下面图中使用白色显示依赖包. Spring的依赖 Spring Boot聚焦于Spring应用

spring batch(二):核心部分(1):配置Spring batch

spring batch(二):核心部分(1):配置Spring batch 博客分类: Spring 经验 java chapter 3.Batch configuration 1.spring batch 的命名空间 spring xml中指定batch的前缀作为命名空间. 示例: Xml代码   <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sprin

[原创]Spring JdbcTemplate 使用总结与经验分享

引言 近期开发的几个项目,均是基于Spring boot框架的web后端项目,使用JdbcTemplate执行数据库操作,实际开发过程中,掌握了一些有效的开发经验,踩过一些坑,在此做个记录及总结,与各位读者分享. 欢迎留言与我交流. 正确使用JdbcTemplate执行数据库操作 1.Bean声明 新增类型DatabaseConfiguration,添加注解@Configuration 该类型用于DataSource及JdbcTempate Bean的声明 基础代码如下 @Configurati

spring mvc 控制器方法传数组对象的一些经验

因为项目需要在一个表单里面提交多个对象,比较好的做法就是直接在控制器方法参数里传一个数组. 由于Spring mvc框架在反射生成控制方法的参数对象的时候会调用这个类的getDeclaredConstructor方法来获得构造函数, 但是一直报NoSuchMethodException的异常. 根据这个方法的jdk文档,这个类是一个数组对象时,这个方法会抛出java.lang.NoSuchMethodException,因为接口.数组类.void.基本类型没有构造函数. 同事后来给我支了两招,使

MVC网站(Spring Mvc)编写经验总结

单个网站使用MVC架构模式经验总结,包含具体网站包分类.包内类的编写.注意事项等方面.本人认为,按照如下包分类及编写方法,已经满足一个简单普通网站(主要针对java)的编写需求. MVC主要层级 数据库持久层(model) 常见应用的有Hibernate.Mybatis等持久层框架. 1. dao(repository) 此包中包含的类,是针对不同数据库的基本操作. 针对关系型数据库,是常见的CRUD(可能包含分页.模糊查询和排序等)操作,目前在JAVA EE中形成了JPA规范. 针对非关系型数

spring mvc 控制器方法传递一些经验对象的数组

由于该项目必须提交一个表单,其中多个对象,更好的方法是直接通过在控制器方法参数的数组. 因为Spring mvc框架在反射生成控制方法的參数对象的时候会调用这个类的getDeclaredConstructor方法来获得构造函数, 可是一直报NoSuchMethodException的异常. 依据这种方法的jdk文档,这个类是一个数组对象时,这种方法会抛出java.lang.NoSuchMethodException,由于接口.数组类.void.基本类型没有构造函数. 同事后来给我支了两招,使用A

struts2+hibernate+spring简单整合且java.sql.SQLException: No suitable driver 问题解决

最近上j2ee的课,老师要求整合struts2+hibernate+spring,我自己其实早早地有准备弄的,现在都第9个项目了,无奈自己的思路和头绪把自己带坑了,当然也是经验问题,其实只是用myeclipse进行整合的,本来也没那么多问题,看视频吧居然好多要手打,我不喜欢看不下去放弃了,教程把就是一堆坑,最最让人不解的是明明有一个冲突是需要解决的,但我看到的教程居然都没有提到,还有一个错误居然好多人都好像自动忽略一样,能解决我问题的都是要漫长的找,所以我一定一定要把这个过程记录下来,给第一次搞

【转】大数据批处理框架 Spring Batch全面解析

如今微服务架构讨论的如火如荼.但在企业架构里除了大量的OLTP交易外,还存在海量的批处理交易.在诸如银行的金融机构中,每天有3-4万笔的批处理作业需要处理.针对OLTP,业界有大量的开源框架.优秀的架构设计给予支撑:但批处理领域的框架确凤毛麟角.是时候和我们一起来了解下批处理的世界哪些优秀的框架和设计了,今天我将以Spring Batch为例,和大家一起探秘批处理的世界.初识批处理典型场景探秘领域模型及关键架构实现作业健壮性与扩展性批处理框架的不足与增强批处理典型业务场景对账是典型的批处理业务处