3.IOC的配置与应用(annotation的方式)

自动装载

  @Autowired

    

 1 public class UserService {
 2
 3     private UserDAO userDAO;
 4     public UserDAO getUserDAO() {
 5         return userDAO;
 6     }
 7
 8     // 默认按照 bean 的类型注入  (by type)
 9     // 如果想用 byName 使用 @Qulifier
10     // 注解最好放到 set方法上,不要放到字段上(第三种注入形式),会破坏封装性,类似 hibernate
11     @Autowired
12     public void setUserDAO(@Qualifier("u") UserDAO userDAO) {
13         this.userDAO = userDAO;
14     }
15
16     public void add(User user) {
17         userDAO.save(user);
18     }
19 }

  @Resource(重要) 

 1 public class UserService {
 2
 3     private UserDAO userDAO;
 4     public UserDAO getUserDAO() {
 5         return userDAO;
 6     }
 7
 8     /* 默认按名称,名称找不到,按类型( 如果@Resource中没有指定名称,那么默认使用userDAO)
 9      * 当不存在 对应名称的 bean对象时,则按 类型 再找一遍,满足UserDAO.class 就算符合
10      * 加上name 属性 代表 按名称去找(一般都加上 name)
11      * 推荐使用
12      * annotation不足:如果没有源码,就无法运用annotation,只能使用xml
13      * */
14     @Resource(name="userDAO")
15     public void setUserDAO(UserDAO userDAO) {
16         this.userDAO = userDAO;
17     }
18
19     public void add(User user) {
20         userDAO.save(user);
21     }
22 }

   

  @Component @Service @Controller @Repository(取代 bean 标签,上面用于取代 property标签)

    初始化的名字默认为类名首字母小写

    可以指定初始化bean的名字

  

  

  @Scope  

  /*@Scope 用来指定 bean 的 作用范围,就是之前 xml文件中 scope 属性的作用
  * 默认 为 单例 ,singleton 可以指定为prototype
  * */
  @Scope("singleton")

  

  

  @PostConstruct = init-method; @PreDestroy = destroy-method

 1 /*相当于 xml 中 的 init-method*/
 2     @PostConstruct
 3     public void postConstruct() {
 4         System.out.println("init!!");
 5     }
 6
 7     /*相当于 xml 中 的 destroy-method*/
 8     @PreDestroy
 9     public void preDestroy() {
10         System.out.println("destroy!!");
11     }

  

  

时间: 2024-11-09 02:40:56

3.IOC的配置与应用(annotation的方式)的相关文章

Spring随笔 —— IOC配置的三种不同方式简介

在spring framework中,IOC的配置是最基础的部分,常见的配置方式有基于xml文件和基于注解的配置方式.除了这两种配置方式之外,今天这里再介绍另一种配置方式,先用小demo重温下我们熟悉的两种配置方式. UserService调用UserDao中的login(String username, String password)方法. 一.基于XML配置文件的方式 UserDao.java 1 package org.lizf.demo; 2 3 public class UserDa

使用注解实现IOC的配置

一.使用注解实现IoC的配置        /**         * 员工实现类,实现Dao接口,负责User类的持久化操作         **/        //通过注解定义一个DAO        @Component("employeeDao")        public class EmployeeDaoImpl implements EmployeeDao{            public void save(Employee employee){        

Spring学习(4)IOC容器配置bean:定义与实例化

一.  IOC容器配置 1. 一些概念 (1)IOC容器: 定义:具有管理对象和管理对象之间的依赖关系的容器. 作用:应用程序无需自己创建对象,对象由IOC容器创建并组装.BeanFactory是IOC容器的核心. 流程:IOC容器根据配置文件,读取配置元数据,通过元数据库对程序中的各个对象进行实例化和装配.Spring与配置文件完全解耦,可以使用其他任何方式进行配置元数据,比如注解.基于java文件.基于属性文件的配置都可以. (2)Bean:IOC容器管理的应用程序的对象我们称它为bean.

Spring事务Transaction配置的五种注入方式详解

Spring事务Transaction配置的五种注入方式详解 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ??? 总结如下: ??? Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. ???DataSou

hibernate annotation注解方式来处理映射关系

在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式以后,发现使用annotation的方式可以更简介,所以这里就简单记录下通过annotation来配置各种映射关系,在hibernate4以后已经将annotation的jar包集成进来了,如果使用hibernate3的版本就需要引入annotation的jar包. 一.单对象操作 @Entity

从源代码剖析Struts2中用户自定义配置转换器的两种方式——基于字段的配置转换器和基于类型的配置转换器(解决了实际系统中,因没有区分这两种工作方式的生命周期而引起的异常错误问题)

自定义类型转换器必须实现ongl.TypeConverter接口或对这个接口的某种具体实现做扩展 <<interface>>com.opensymphony.xwork2.conversion.TypeConverter à com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter à org.apache.struts2.util.StrutsTypeConverter 接口及类进行解析 TypeConverter(

Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解

原创整理不易,转载请注明出处:Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解 代码下载地址:http://www.zuidaima.com/share/1772648445103104.htm 有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz. 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; p

spring配置属性的两种方式

spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location="classpath:jdbctemplate/jdbc.properties" /> 第二种方式通过创建bean,对应类为PropertyPlaceholderConfigurer <bean id="propertyConfigurer" class=

SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对比注解方式的优缺点)

接上一篇 SSH深度历险(十) AOP原理及相关概念学习+AspectJ注解方式配置spring AOP,本篇我们主要是来学习使用配置XML实现AOP 本文采用强制的CGLB代理方式 SecurityHandler这个通知类可以换成安全性检测.日志管理等等. <span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18

8.Spring整合Hibernate_2_声明式的事务管理(Annotation的方式)

声明式的事务管理(AOP的主要用途之一) (Annotation的方式) 1.加入annotation.xsd 2.加入txManager bean 3.<tx:annotation-driven 1 <tx:annotation-driven transaction-manager="txManager"/> 2 <bean id="txManager" class="org.springframework.orm.hiberna