- 浏览: 1571868 次
- 来自: 上海
文章分类
- 全部博客 (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 9942spring-session 配置 依赖 gradle ... -
Spring AspectJ Aop Annotation
2017-03-29 17:08 662import org.aspectj.lang.Proce ... -
spring 第13天 使用@scheduled注解执行定时任务
2015-01-06 23:11 54014我们使用spring的注解 @Scheduled 执行定时任务 ... -
Spring 第12天,事务传播属性和 隔离级别
2014-09-28 00:36 7711 事务的传播属性(Propagation) 1) REQ ... -
spring 第11天 quartz任务调度
2014-08-24 13:59 1098Quartz是一个强大的企业级任务调度框架,Spring中继承 ... -
spring 第10 天 AOP 面向切面
2014-08-21 00:08 1716AOP(Aspect Orient Programming ... -
spring 第9天 Resurce 资源访问
2014-08-17 22:20 1823Spring Resource接口 spring提供的Reso ... -
spring 第7天 Bean,BeanFactory处理器,配置器
2014-08-16 21:46 1182spring 两种后处理器 第一种,Bean 后处理器 对容器 ... -
spring 第6天SpEL,P命名空间,Util Schema
2014-08-13 22:52 1261使用p名称空间配置属性 ... -
spring 第5天不同作用域的bean,注入Field,方法返回值
2014-08-11 22:31 2060协调作用域不同步的bean 问题是;当一个singleton的 ... -
spring 第4天bean继承,init,destory-method
2014-08-10 17:54 1598深入理解Spring容器中的b ... -
spring 第3天使用java类和XML配置bean
2014-08-09 16:51 1458下面采用java类来配置bean,前面都采用xml进行配置be ... -
spring 第2天,bean作用域,自动注入集合
2014-08-06 22:16 1882sping容器中的Bean <!---beans的全 ... -
spring 第1天 IOC,DI,国际化,容器事件
2014-08-04 21:27 13561.构造注入(就是使用 构 ... -
SpringMVC 注解 和非注解
2014-01-26 10:29 17973首先看看非注解的项目结构 在web.xml文件 配置spr ... -
详解spring 每个jar的作用
2013-11-19 23:54 3867spring.jar 是包含有完整 ... -
Spring配置Hibernate事务
2013-11-10 13:45 1174为了保证数据的一致性,在编程的时候往往需要引入事务这个概念。事 ... -
Spring 中引用Properties文件
2013-08-29 14:39 10607其中部分配置信息(邮件发送相关): #邮件发送的相关配置 ... -
Spring IOC控制反转 依赖注入DI
2012-12-15 09:37 2292目录 1.使用IOC控制反转 中的DI依赖注入 手工注入 ... -
Spring IOC控制反转 依赖注入DI
2012-12-14 16:23 8目录 1.使用IOC控制反转 中的DI依赖注入 (两种配置方式 ...
相关推荐
第十八章:Spring 注解小马哥 · mercyblitzSpring 注解Spring 注解驱动编程发展历程Spring 核心注解场景分类Spring 注解
第八章. 对象池 8.1.简介 8.2.接口和实现 第九章. Spring.NET杂记 9.1.简介 9.2.PathMatcher 9.2.1.通用规则 9.2.2.匹配文件名 9.2.3.匹配子目录 9.2.4.大小写需要考虑,斜线可以任意 第十章. 表达式求值 10.1.简介 ...
【第八章】 对ORM的支持 之 8.1 概述 ——跟我学spring3 【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3 【第八章】 对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3 【第八章】 对ORM的支持 之...
9 Spring Boot @Enable*注解的工作原理47:07 10 Spring Boot @EnableAutoConfiguration深入分析30:55 11 Spring Boot 事件监听27:53 --四种方式讲解如何配置事件监听 12 Spring Boot 扩展分析33:54 13 Spring ...
第八课:Spring AOP配置选项 21 一、 AOP配置annotation方式 21 (一) 搭建annotation开发环境 21 (二) aspectJ类库 22 (三) AOP的annotation实例 22 (四) AspectJ的专业术语 23 (五) 织入点语法 23 (六) Advice 24 ...
第8章:介绍了Spring所提供的DAO封装层,这包括Spring DAO的异常体系、数据访问模板等内容。 第9章:介绍了Spring事务管理的工作机制,通过XML、注解等方式进行事务管理配置,同时还讲解了JTA事务配置知识。 ...
第8章 Spring @MVC 280 8.1 用Spring MVC开发简单的Web应用 280 8.1.1 问题 280 8.1.2 解决方案 281 8.1.3 工作原理 283 8.2 用@RequestMapping映射请求 293 8.2.1 问题 293 8.2.2 解决方案 294 ...
如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ...
第8章 Spring @MVC 280 8.1 用Spring MVC开发简单的Web应用 280 8.1.1 问题 280 8.1.2 解决方案 281 8.1.3 工作原理 283 8.2 用@RequestMapping映射请求 293 8.2.1 问题 293 8.2.2 解决方案 294 ...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. 结合AspectJ使用 @Transactional 9.6. 编程...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
第8章spring和基于pojo的远程服务 8.1spring远程调用概览 8.2与rmi一起工作 8.2.1连接rmi服务 8.2.2输出rmi服务 8.3使用hessian和burlap的远程调用 8.3.1访问hessian/burlap服务 8.3.2用hessian或burlap公开...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
1.创建第一个 Spring MVC 程序案例 2.Spring MVC @RequestMapping 注解案例 3.Spring MVC 请求参数的获取案例 4.Spring MVC 域对象共享数据案例 5.Spring MVC @ModelAttribute 注解案例 6.Spring MVC 国际化案例 7....
第八部分 附录 274 40.安全数据库模式 274 40.1用户模式 274 40.1.1集团当局 274 40.2持久登录(记得我)架构 275 40.3 ACL模式 275 40.3.1 HyperSQL 276 40.3.2 PostgreSQL 277 40.3.3 MySQL和MariaDB 278 40.3.4 ...
第8章 Spring对DAO的支持 8.1 Spring的DAO理念 8.2 统一的异常体系 8.2.1 Spring的DAO异常体系 8.2.2 JDBC的异常转换器 8.2.3 其他持久技术的异常转换器 8.3 统一数据访问模板 8.3.1 使用模板和回调机制 8.3.2 ...
第8章 Spring和基于POJO的远程服务 8.1 Spring远程调用概览 8.2 与RMI一起工作 8.2.1 连接RMI服务 8.2.2 输出RMI服务 8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或...
第8章 Spring和基于POJO的远程服务 8.1 Spring远程调用概览 8.2 与RMI一起工作 8.2.1 连接RMI服务 8.2.2 输出RMI服务 8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或...
Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...