zoukankan      html  css  js  c++  java
  • spring常用注解

    使用注解构造IOC、替代传统的applicationContext.xml配置<bean/>和<property/>

    传统的spring要在applicationContext.xml中配置:①<bean>类   ②<property>属性   如果有100个类和若干个属性,那么我们就要写成百上千个<bean>、<property>,这种就不利于维护,使用注解就能够解决这个问题。(项目中的方法也可以使用注解来替代)

    在使用类注解前要在applicationContext.xml文件中添加:

    <context:component-scan base-package="news"></context:component-scan>

    注意:base-package可以指定一个包也可指定多个包,多个包逗号隔开

    使用了<context:component-scan/>之后就可以把<context:annotation-config/>移除,因为<context:component-scan/>也能实现扫描包路径。

    1.(类)@Controller

    @Controller是对应控制层的<bean>,也就是action类

    用法:

    1 @Controller
    2 @Scope("prototype")
    3 public class NewsAction extends ActionSupport{
    4 ……
    5 }

    注意:如果@Controller不指定其value【@Controller】,则默认的bean名字为这个类的类名首字母小写,如果指定value【@Controller(value="UserAction")】或者【@Controller("UserAction")】,则使用value作为bean的名字。

    2、(类)@ Service

    @Service对应的是业务层Bean

    用法:

    1 @Service("NewsService")
    2 public class NewsServiceImpl implements NewsService {
    3 ………
    4 }

    3、(类)@ Repository

    @Repository对应数据访问层Bean,部分技术人员也喜欢叫dao类

    用法

    1 @Repository(value="NewsDao")
    2 public class NewsDaoImpl extends NewsDaoImpl {
    3 ………
    4 }

    注意:以上三种(@Controller、@Service、@Repository)是针对不同层的类所使用的注解,下面的是针对属性所使用的注解:

    4.(属性)@ Autowired (不推荐使用,建议使用@Resource)

    @Qualifier("...")

    用法(在实现类中封装一个属性并私有化,在属性上面添加@Autowired @Qualifier)

    如下:

    public class NewsDaoImpl implements NewsDao {
       //这种方式是spring注解
       @Autowired
    @Qualifier("mySessionFactory")
    private SessionFactory sf;
    }

     注意:加入@Qualifier是为了让spring准确地知道要注入的对象,括号里自定义属性名字

     

    5.(属性)@Resource(jdk)

    用法:

    public class NewsDaoImpl implements NewsDao {
        @Resource(name="mySessionFactory")
        private SessionFactory sf;
    }

    通过@Resource注解来给属性sf注入一个名字为mySessionFactory的值

  • 相关阅读:
    [C++空间分配]new运算符、operator new、placement new的区别于联系
    [C++STL]stl源码剖析
    [C++基础]在构造函数内部调用构造函数
    Eclipse Memory Analyzer
    zookeeper 学习 zookeeper下载部署
    Doracle.jdbc.J2EE13Compliant=true
    zookeeper 学习 状态机复制的共识算法
    java -d
    轮盘选择法
    OPENJDK 源码编译
  • 原文地址:https://www.cnblogs.com/gt18552/p/5992251.html
Copyright © 2011-2022 走看看