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头文件实例:

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

  

猜你喜欢

转载自www.cnblogs.com/fionalde/p/9112979.html