- 浏览: 1588701 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
spring注解
定制Bean的生命周期行为
没有什么好顶的,没有发布到社区 里面去,主要是给自己看 呵呵
@Component:标注一个普通的spring bean类 @Controller:标注一个控制器组件 @Service:标注一个业务逻辑组件 @Reponsitory:标注一个DAO组件 @Scope:配置bean的作用域不配置 默认为 singleton @DependsOn({"aa"}):可以修饰bean和方法,表示在操作前 ,先初强制初始化 aa bean @Lazy(false) :修饰bean类,用于指定该bean是否执行预初始化行为 默认为false :表示会执行初始化 @Autowired:可以修饰Field setter方法,普通方法,自动注入,默认采用byType注入 @Qualifier:精确的自动装配:可以修饰Field,setter方法,普通法方法,必须和@Autowired 一起使用,否则不会将找到的bean初始化后,赋值给属性.
package annotation.model.impl; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import annotation.model.interfaces.Axe; import annotation.model.interfaces.Dog; import annotation.model.interfaces.Person; @Component public class Japanese implements Person { //定义一个方法 @Autowired @Qualifier("steelAxe") public Axe axe; @Autowired public Dog dog; @Autowired // 会找到所有的Axe 类型然后天津到 数组中 private Axe[] axes; private Set<Axe> saxe; public Set<Axe> getSaxe() { return saxe; } @Autowired //如果 不指定 集合的类型 spring 将不知所措 public void setSaxe(Set<Axe> saxe) { this.saxe = saxe; } public Axe getAxe() { return axe; } /** * 如果发现 这一类型的 有多个Bean 会出现异常 * @param axe */ @Autowired //找到 类型为Axe 的后,会自动注入, 默认采用 byType自动装配 public void setAxe(@Qualifier("stoneAxe") Axe axe) { System.out.println("bb"); this.axe = axe; } @Autowired //多个参数的普通方法 public void prepare(@Qualifier("steelAxe") Axe axe,Dog dog){ System.out.println("ss"); this.axe=axe; this.dog=dog; } @Override public void useAxe() { System.out.println("正在使用"+getAxe()+"劈柴"); System.out.println(getAxe().chop()); } public void life(){ dog.sound(); } public Dog getDog() { return dog; } public Axe[] getAxes() { return axes; } public void setDog(Dog dog) { this.dog = dog; } public void setAxes(Axe[] axes) { this.axes = axes; } }
<context:component-scan base-package="annotation"> <!-- type: 有4种类型 annotation assignable regex aspectj --> <!-- 包含下面结尾的类 --> <context:include-filter type="regex" expression=".*Chinexe"/> <context:include-filter type="regex" expression=".*Axe"/> <context:include-filter type="assignable" expression="annotation.resources.TestBean"/> <!-- 不包含下面包下的所有类 --> <context:exclude-filter type="regex" expression="annotation.model.interfaces.*"/> </context:component-scan>
ApplicationContext act=null; @Before public void init(){ act=new ClassPathXmlApplicationContext("classpath:applicationContent_anno.xml"); } //测试 自动 注入 和精确注入 Autowired Qualifier @Test public void test1(){ // setMethod > generalMethod(普通方法) > Field //输出spring中所有bean 的实例名称 System.out.println(Arrays.toString(act.getBeanDefinitionNames())); Japanese j=act.getBean("japanese",Japanese.class); j.useAxe(); j.life(); System.out.println(Arrays.toString(j.getAxes())); }
定制Bean的生命周期行为
@PostConstruct :修饰 bean找那个init-method,和配置文件中init-menthod作用一样 @PreDestory:修改bean中的close方法 和配置文件中的属性 destory-method作用一样
@PostConstruct // 和 init-method 方法一样 public void init(){ System.out.println("PostConstruct: init-method:正在初始化...."); } @PreDestroy //和 destory-method 方法一样 public void destroy() throws Exception { System.out.println("@PreDestroy:destory-method:注解,即将被销毁..."); }
评论
2 楼
Luob.
2014-08-17
chenzheng8975 写道
哈哈 顶起来
没有什么好顶的,没有发布到社区 里面去,主要是给自己看 呵呵
1 楼
chenzheng8975
2014-08-17
哈哈 顶起来
发表评论
-
spring-session 中的坑
2017-07-06 15:34 9994spring-session 配置 依赖 gradle ... -
Spring AspectJ Aop Annotation
2017-03-29 17:08 707import org.aspectj.lang.Proce ... -
spring 第13天 使用@scheduled注解执行定时任务
2015-01-06 23:11 54079我们使用spring的注解 @Scheduled 执行定时任务 ... -
Spring 第12天,事务传播属性和 隔离级别
2014-09-28 00:36 8121 事务的传播属性(Propagation) 1) REQ ... -
spring 第11天 quartz任务调度
2014-08-24 13:59 1142Quartz是一个强大的企业级任务调度框架,Spring中继承 ... -
spring 第10 天 AOP 面向切面
2014-08-21 00:08 1749AOP(Aspect Orient Programming ... -
spring 第9天 Resurce 资源访问
2014-08-17 22:20 1864Spring Resource接口 spring提供的Reso ... -
spring 第7天 Bean,BeanFactory处理器,配置器
2014-08-16 21:46 1236spring 两种后处理器 第一种,Bean 后处理器 对容器 ... -
spring 第6天SpEL,P命名空间,Util Schema
2014-08-13 22:52 1311使用p名称空间配置属性 ... -
spring 第5天不同作用域的bean,注入Field,方法返回值
2014-08-11 22:31 2110协调作用域不同步的bean 问题是;当一个singleton的 ... -
spring 第4天bean继承,init,destory-method
2014-08-10 17:54 1647深入理解Spring容器中的b ... -
spring 第3天使用java类和XML配置bean
2014-08-09 16:51 1505下面采用java类来配置bean,前面都采用xml进行配置be ... -
spring 第2天,bean作用域,自动注入集合
2014-08-06 22:16 1931sping容器中的Bean <!---beans的全 ... -
spring 第1天 IOC,DI,国际化,容器事件
2014-08-04 21:27 13941.构造注入(就是使用 构 ... -
SpringMVC 注解 和非注解
2014-01-26 10:29 18017首先看看非注解的项目结构 在web.xml文件 配置spr ... -
详解spring 每个jar的作用
2013-11-19 23:54 3909spring.jar 是包含有完整 ... -
Spring配置Hibernate事务
2013-11-10 13:45 1216为了保证数据的一致性,在编程的时候往往需要引入事务这个概念。事 ... -
Spring 中引用Properties文件
2013-08-29 14:39 10652其中部分配置信息(邮件发送相关): #邮件发送的相关配置 ... -
Spring IOC控制反转 依赖注入DI
2012-12-15 09:37 2328目录 1.使用IOC控制反转 中的DI依赖注入 手工注入 ... -
Spring IOC控制反转 依赖注入DI
2012-12-14 16:23 8目录 1.使用IOC控制反转 中的DI依赖注入 (两种配置方式 ...
相关推荐
### Spring框架概述与环境搭建 #### 一、Spring框架简介及官方压缩包目录介绍 - **发明者**:Spring框架的主要发明者为Rod Johnson。 - **轮子理论**:Spring框架推崇“轮子理论”,即避免重复发明已有的组件或...
"Spring 实战第六版" Spring Framework 是一个广泛使用的 Java 应用程序框架,它提供了一个通用的编程模型和配置机制,帮助开发者快速构建企业级应用程序。下面是对 Spring Framework 的详细知识点总结: 1. 什么...
在"Spring第二章"中,我们将深入学习Spring框架的核心概念、主要功能以及如何在实际项目中使用它们。 首先,我们要理解什么是依赖注入。依赖注入是Spring框架的一个关键特性,它允许我们解耦组件间的依赖关系。通过...
在本主题中,我们将深入探讨"spring-security注解开发",这是Spring框架的一个重要组成部分,特别是在构建安全的Java Web应用程序时。Spring Security提供了一种强大而灵活的方式来管理和保护应用程序的资源,而注解...
9. **测试框架增强**:Spring 3.0的测试支持更加完善,包括对Mockito等第三方库的集成,使得单元测试和集成测试变得更加容易。 10. **更多模块**:Spring 3.0.5包含了多个模块的更新,例如`org.springframework....
在“spring培训第二天”的课程中,我们深入学习了Spring框架的核心概念和关键功能。作为一款广泛应用的Java企业级开发框架,Spring以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented ...
8. **Spring Batch**:针对批量处理任务,Spring Batch提供了一套完整的解决方案,包括读取、处理和写入大量数据。 9. **笔记**:学习资源中的笔记可能涵盖了上述概念的讲解,以及黑马程序员对这些概念的独特见解和...
《Spring实战第四版》是Java开发领域中一本深入讲解Spring框架的经典著作,源代码的提供为读者提供了亲自动手实践的机会,有助于加深理解和应用。在这个压缩包中,包含的文件名为"spring4源码_Code4",我们可以推测...
了解这些核心概念后,开发者可以充分利用Spring注解驱动编程的便利性,减少XML配置,提升开发效率。同时,掌握Spring的元注解和模式注解,可以更好地定制化和扩展框架功能,满足特定项目需求。对于Spring框架的学习...
《Spring攻略(第二版)书籍源码》是一个深入学习Spring框架的重要资源,它包含了作者在编写书籍过程中所使用的完整代码示例。这份源码旨在帮助读者更好地理解和实践Spring框架的各种功能和最佳实践。 Spring框架是...
8. **版本更新**:第二版针对Spring框架的最新版本进行了更新,确保读者可以学习到最新的特性和改进。 总之,《Spring in Action》第二版中文版是一本全面而实用的Spring教程,无论你是初学者还是有经验的开发者,...
标题“传智播客2016spring资料4”揭示了这是一份关于Spring框架的教育资料,特别关注的是2016年传智播客教学课程中的第四天内容。传智播客是一家知名的IT教育机构,其课程通常深入浅出,适合初学者和有一定经验的...
《Spring in Action》第四版是关于Spring框架的一本权威指南,由Manning出版社出版。这本书深入浅出地介绍了如何使用Spring框架构建强大的Java应用程序。英文原版提供了最原始的作者见解和技术细节,对于想要深入...
在"spring第一个例子"中,我们将创建一个简单的Spring应用程序。这个例子通常包括以下步骤: 1. **配置Spring**:首先,我们需要创建一个Spring的配置文件,例如`applicationContext.xml`。在这个文件中,我们会...
在“第二天”的学习内容中,我们通常会涉及以下几个关键知识点: 1. **Spring概述**:首先,我们会了解Spring的基本概念和历史背景,以及它如何在Java生态系统中占据重要地位。Spring的主要优势在于其模块化设计,...
8. **测试**:Spring提供了一套强大的测试工具,包括单元测试、集成测试。书中会介绍如何编写和执行这些测试,以确保代码质量。 9. **Spring Security**:Spring Security是Spring生态系统的安全模块,用于身份验证...
8. **测试支持**:Spring提供了丰富的测试支持,包括单元测试和集成测试。学习如何使用Mockito、Spring Test和JUnit进行测试是非常重要的。 9. **Spring Batch**:对于批量处理任务,Spring Batch提供了一个全面的...
这个系列教程的第八部分可能深入讲解了在实际项目中如何运用这些框架的注解来简化配置,提升开发效率。 【描述】中的信息虽然简洁,但暗示了该视频可能涵盖了以下几个关键知识点: 1. **Spring MVC**:作为Spring...
- `mybatis-spring-boot-starter`:第三方提供的MyBatis集成Starter。 11. **启动时执行特定代码** - 实现`ApplicationRunner`或`CommandLineRunner`接口,这两个接口的`run`方法会在Spring Boot应用启动后运行。...
【Spring框架核心概念详解】 在Spring框架中,IoC(Inversion of Control,控制反转)是核心设计理念之一,它通过管理对象(Bean)的生命周期和依赖关系,将控制权从应用代码转移到框架。BeanFactory和...