Spring

Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

Spring 属性文件引用pom文件的属性

本文将介绍怎样在Spring项目中,在属性文件(properties)中引用pom.xml文件中定义的属性,这些属性可以定义在不同的profile中。

Spring MVC怎样访问静态资源

本文将介绍Spring MVC访问静态资源的三种方式。

Spring context:property-placeholder元素详解

本文将介绍在Spring中,怎样引用外部属性文件(properties)中的值。在Spring配置文件中使用${}进行引用,也可以在代码中使用@Value("${}")注解进行引用。在使用前,我们需要配置PropertyPlaceholderConfigurer Bean或者配置context:property-placeholder元素。

SpringMVC中JSP页面不显示EL表达式的原因

在Spring MVC开发中, 开发人员可能会设置某个值到 Model 中, 并通过EL表达式在JSP显示。例如: ${msg}, 但并没有解析为对应的“value”, 输出结果还是老样子: ${msg}。也就是说JSP中 的 EL 不起作用了,为什么呢?

Spring MVC用RestTemplate访问REST服务

Java Web开发中,我们通常需要通过GET、POST请求其他系统提供的服务。其中,JDK自带的HttpURLConnection、Apache HttpClient等方式都可以实现。当然,这些方式都有一个很明显的缺陷,那就是代码很繁琐。而Spring提供的RestTemplate封装了这些库的实现,可以让我们的HTTP请求更加简洁、直观。

Spring初始化完成后执行方法

在WEB项目中,有这么一个需求;就是在项目启动完成后执行特定的初始化操作,将系统需要的某些基础数据预先加载到系统中,如:将系统的字典表预加载到缓存等。在Spring中,我们可以通过InitializingBean和ApplicationListener来实现初始化操作。

Optional int parameter 'age' is present but cannot be translated into a null value due to being declared as a primitive type

在使用Spring MVC的@RequestParam注解引入参数时抛出"Optional int parameter 'age' is present but cannot be translated into a null value due to being declared as a primitive type"错误信息。该错误信息说明将null值设置到指定的原始类型对象失败,建议将原始类型改成对应的包装类型。如:int改为Integer

Spring bean的init-method和destory-method方法

关于在Spring容器初始化bean和销毁所做的操作定义方式有三种:第一种:通过@PostConstruct和@PreDestroy方法实现初始化和销毁bean之前进行的操作;第二种是:通过在xml中定义init-method和destory-method方法;第三种是:通过bean实现InitializingBean和 DisposableBean接口

Spring注解@Component、@Repository、@Service、@Controller区别

Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层(Repository)、业务层(Service)和控制层(Web 层 Controller)相对应。

Spring 3.0 注解详解

在Spring2.5中已经可以用注解的方式去驱动Spring的依赖注入了。使用注解需要JDK1.5+ API才支持。注解和Java代码位于同一个java文件中,而XML配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果配置信息和Java代码放在一起,有助于增强程序的内聚性。而采用独立的XML配置文件,程序员在编写一个功能时,往往需要在程序文件和配置文件中不停切换,这种思维上的不连贯会降低开发效率。而且XML配置文件在项目大的时候不易管理。

NoSuchBeanDefinitionException: No unique bean of type [***] is defined

在Spring中我们经常使用@Autowired注解来将类的依赖注入进来,使用@Autowired注解有两个限制。第一:依赖对象在Spring容器中必须存在,否则将会抛出BeanCreationException异常;第二:依赖对象在Spring容器中只能存在一个;如果存在多个,则会抛出BeanCreationException异常;因为@Autowired注解是根据类型进行匹配的。

启用Spring注解入门

在使用Spring的IoC的时候传统使用XML的<bean>标签进行配置;在实际项目开发中,需要配置的bean数量庞大,因此出现以下缺陷,一方面配置较为麻烦;另一方面使得配置文件的变得臃肿;因此Spring2.5开始引入了通过注解的方式来注入依赖关系等;要使用注解需要JDK1.5以上的JDK,因为底层才能够访问注解源码。

Spring中lazy-init详解(延迟加载)

ApplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实例化(也就是依赖注入)。提前实例化意味着作为初始化过程的一部分,ApplicationContext实例会创建并配置所有的singleton bean。通常情况下这是件好事,因为这样在配置中的任何错误就会即刻被发现(否则的话可能要花几个小时甚至几天)。

Spring中bean属性scope介绍

scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在 对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象。打个比方吧!我们都是处在社会 (容器)中,如果把中学教师作为一个类定义,那么当容器初始化这些类之后,中学教师只能局限在中学这个场景中,中学,就可以看做中学教师的scope。

关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号