spring 类注解的作用

1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的)

@Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。
下面写这个是引入component的扫描组件

 <context:component-scan base-package="com.feiniu.wyt.controller" />
 <mvc:annotation-driven />

其中base-package为需要扫描的包(含所有子包)
1、@Service用于标注业务层组件
2、@Controller用于标注控制层组件(如struts中的action)
3、@Repository用于标注数据访问组件,即DAO组件.
4、@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

   ===================================================================
       <bean id="beanname" class="">
       </bean>

xml中配置 Bean 并完成 Bean 之间依赖关系的建立。Office、Car 和 Boss,这 3 个类需要在 Spring 容器中配置为 Bean

1. Office.java  
public clas Office{

     private String officeNo = "001";

     //省略 get/setter2. Car.java 
public class Car{
     private String brand;
     private String price;

     // 省略 get/setter 
}

3. Boss.java 
public class Boss{
     private Car car;
     private Office office;

     // 省略 get/setter
}
<?xml version="1.0" encoding="UTF-8" ?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans   
 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
    <bean id="boss" class="com.baobaotao.Boss">  
        <property name="car" ref="car"/>  
        <property name="office" ref="office" />  
    </bean>  
    <bean id="office" class="com.baobaotao.Office">  
        <property name="officeNo" value="002"/>  
    </bean>  
    <bean id="car" class="com.baobaotao.Car" scope="singleton">  
        <property name="brand" value=" 红旗 CA72"/>  
        <property name="price" value="2000"/>  
    </bean>  
</beans>  
  public static void main(String[] args) {  
        String[] locations = {"beans.xml"};  
        ApplicationContext ctx =   new ClassPathXmlApplicationContext(locations);  
        Boss boss = (Boss) ctx.getBean("boss");  
        System.out.println(boss);  
    }  
   @Resource @Autowire =======>>>> 自动加载bean           
@Service 
public class UserServiceImpl implements UserService { 
     //     
} 

@Repository 
public class UserDaoImpl implements UserDao { 
     //
} 

getBean的默认名称是类名(头字母小写),如果想自定义,可以@Service(“***”) 
这样来指定,这种bean默认是单例的,如果想改变,可以使用
@Service(“beanName”) 
@Scope(“prototype”)来改变。

可以使用以下方式指定初始化方法和销毁方法(方法名任意): 
@PostConstruct
public void init() { } 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值