spring ioc注解配置

spring3.0后引入组件自动扫描机制,可以在类路径下寻找标注了

  1. @Component /组件 泛指组件,组件不好归类时使用该注解
  2. @Service /服务 标注业务层组件
  3. @Controller /控制器 标注控制层组件
  4. @Respository /仓库 标注DAO组件

例:@Component(value="dog") 与 <bean id="dog"class="com.chinasofti.bean.Dog"></bean> 一样效果 如果不输入id,则默认值为当前类的首字母小写 value相当于指定xml中的id(最好不要省略value)

public class Dog{

}

bean的初始化和销毁设置(该注解式javabean的注解方式)标于init和destory方法上

@PostConstruct 对应 init-method

@PreDestroy对应destroy-method

setter方法注入 标注于对应的属性上

@Value(value="18")

private Long age;

spring组件的setter方法注入

@Resoure注解 在属性上注解完成注入,可以省略setter方法

@Resource(name="setterBasic") name的值是其他bean组件的id属性

private SetterBasic setterBasic;

注解的类,把这些类纳入Spring容器中管理,作用与xml文件中使用bean节点配置组件一样效果

  1. 需引入AOP jar包 spring-aop-版本号.jar
  2. Spring配置文件增加context命名空间与xsd的引用,使用注解还需要context组件解析配置文件

xmlns:context="http://www.springframework.org/schema/context" 引入命名空间

xsi:schemaLocation="..... (添加)http://www.springframework.org/schema/comtext/spring-context.xsd">

  1. 增加context的动态扫描

<context:component-scan base-package="com.。。。。。"></context:component-scan> context/环境;component/组件;scan/扫描

配置了base-package(根目录)后会自动扫描 com.。。。。包下的java类包含其子类。

spring aop applicationContext.xml头文件实例:

<?xml version="1.0" encoding="UTF-8" ?>
 <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd">
     <context:component-scan base-package="com.chinasofti.bean"></context:component-scan>
 </beans>

相关推荐