2.1 默认方法(default method)
- java8引入了一个
default medthod
;
- 用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
- 使用
default
关键字
- Spring 4.2支持加载在默认方法里声明的bean
2.2
public class DemoService {
public void doSomething(){
System.out.println("find bean in default method");
}
}
package com.wisely.spring4_2.defaultMethod;
import org.springframework.context.annotation.Bean;
public interface DemoServiceConfig {
@Bean
default DemoService DemoService(){
return new DemoService();
}
}
package com.wisely.spring4_2.defaultMethod;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig implements DemoServiceConfig{
}
package com.wisely.spring4_2.defaultMethod;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext("com.wisely.spring4_2.defaultMethod");
DemoService ds = context.getBean(DemoService.class);
ds.doSomething();
}
}
find bean in default method
分享到:
相关推荐
在`<bean>`元素中,`lookup-method`和`replaced-method`属性的引入,使得在运行时动态查找或替换bean的方法成为可能,这是对AOP(面向切面编程)的一种补充,提供了更细粒度的控制。 除此之外,`<util>`命名空间在...
Spring Security version 3.0.x to 4.2.x Web environment (Spring Security integration cannot work offline) Maven info groupId: org.thymeleaf.extras artifactId: Spring Security 3 integration package: ...
2. **搭建开发环境**:创建新的Web项目,并添加Struts2、Spring2和Hibernate3的相关库文件。 #### 四、数据库设计 为了演示整合流程,我们设计了一个简单的用户表`user`,包含字段`userid`、`username`、`password...
- Spring Boot提供自动配置功能,它是通过分析项目类路径上的jar包、已定义的Bean和各种设置,来猜测如何配置Spring应用。 - 开发者可以根据需要逐步替换掉由Spring Boot自动配置的内容。 文档中还提到了高级主题...
`default-init-method`和`default-destroy-method`应用于整个`<beans>`根元素,它们只对单例bean有效,因为原型bean的生命周期不受容器控制,所以容器无法确保在适当的时候调用默认的初始化或销毁方法。 接下来,...
- `default-init-method`和`default-destroy-method`:用于指定默认的初始化和销毁方法,如果未在Bean定义中指定,容器会尝试调用这些方法。 4. **Spring 外部化配置元信息**:PropertySource表示从外部文件加载的...
- **Spring 插件的作用**:Spring插件作为桥梁,允许Struts2直接访问Spring容器中的Bean,从而实现对Action的依赖注入。 - **Struts2 的生命周期管理**:通过Spring管理Struts2的Action实例,可以更灵活地控制Action...
Spring框架充分利用了Java注解的功能,简化了配置过程,并提供了许多内置的注解来支持依赖注入、事务管理等功能。以下是一些常用的Spring注解: 1. **@Component** - 用于标记一个类作为Spring管理的Bean。 - ...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
例如,可以使用`init-method`和`destroy-method`属性定义初始化和销毁方法,`scope`属性指定bean的作用域(单例、原型等)。 六、自动装配 Spring的自动装配功能可以减少手动配置的工作量。`autowire`属性可以设置...
`@RequestParam`注解可以将特定的请求参数绑定到方法参数上,支持指定参数是否必需(默认必需),以及参数的默认值: ```java @RequestMapping("/addUser4") public String addUser4(@RequestParam(value = ...
method`用于使用工厂方法创建Bean,`primary`用于在自动装配时指定首选Bean,`scope`定义Bean的作用域,`name`定义Bean的别名。 7. **Bean的作用域**:Spring支持多种作用域,包括: - **Singleton**:全局唯一...
-- 启用spring注解支持 --> <context:annotation-config /> <!-- <bean id="sessionFactory"--> <!-- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">--> <!-- ...
2.3.4. 对OpenID的支持 2.3.4.1. 属性交换 2.3.5. 添加你自己的filter 2.3.5.1. 设置自定义 AuthenticationEntryPoint 2.4. 保护方法 2.4.1. <global-method-security>元素 2.4.1.1. 使用protect-pointcut添加...
- `spring-context-support-2.5.6.jar`:提供对各种数据源的支持。 - `spring-jms-2.5.6.jar`:特别用于JMS消息服务的支持。 - `spring-tx.jar`:提供事务管理功能。 此外,还需要引入JMS规范的实现包`jms-1.1.jar`...
解释:在 Spring 框架中,需要在 Java 主方法中实例化 ApplicationContext 对象,以便启动 Spring 应用程序。 第 4 题 题目:Consider the following code sample which creates an ApplicationContext from a file...
3. 在 xml 配置文件中定义默认的 default-init 和 default-destroy 方法。 其中,实现接口的方式优先级最高,xml 配置文件的方式优先级最低。如果在 Bean 中定义了 init 和 destroy 方法,则一定需要实现,否则会...
Spring Boot 是一个流行的 Java 框架,它简化了创建独立的、生产级别的基于 Spring 应用程序的过程。在本主题"spring-boot-strategy"中,我们将深入探讨如何使用策略模式和简单工厂模式来优化代码中的条件判断,比如...