码迷,mamicode.com
首页 > 其他好文 > 详细

SSH开发中的注解使用

时间:2017-05-21 12:47:26      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:family   service   声明   org   repo   odi   ota   多实例   path   

在SSH中使用注解可以减少配置XML文件,毕竟随着项目规模的扩大,配置bean将把Spring的配置文件(applicationContext.xml)变得很混乱

在Spring的配置文件中开启注解扫描

<context:component-scan base-package="cn.lynu"></context:component-scan>

注意这个base-package就是指定了要扫描的包范围,这里可以指定一个共有的包名以扫描所有类的注解

这里给一个Spring配置文件:

现在只需要配置C3P0和hibernate并开启注解扫描就可以了

<?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:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">    
    

<!-- 配置c3p0连接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/easyui"></property> <property name="user" value="root"></property> <property name="password" value="root"></property> </bean> <!-- 配置hibernate --> <!-- 1.先配置sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocations" value="classpath:hibernate.cfg.xml"></property> </bean> <!-- 2.开启事务管理器,用注解方式使用事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 开启事务,记得在需要开启事务的类上 使用@Transaction--> <tx:annotation-driven transaction-manager="transactionManager"/> <!-- 开启注解扫描 --> <context:component-scan base-package="cn.lynu"></context:component-scan> </beans>

开始使用注解

1.先从Dao开始,在Dao类上使用@Repository注解声明自己

技术分享

然后是很关键的一步,我使用了HibernateDaoSupport,需要在Dao中注入sessionFactory,而Dao中就需要调用HibernateDaoSupport中的sessionFactory

    @Resource(name="sessionFactory")
    public void setSF(SessionFactory sf){
        super.setSessionFactory(sf);
    }

setSF这个名字不是固定的,只要是以set打头就行了

 

2.在Service类上使用注解@Service

技术分享

然后使用@Resource注入Dao

    private AdminDao adminDao;
    @Resource(name="adminDao")
    public void setAdminDao(AdminDao adminDao) {
        this.adminDao = adminDao;
    }

 

3.在Action类上面使用@Controller指明自己是控制器,使用@Scope("prototype")指明为多实例,action都是多实例的

技术分享

同样还要使用@Resource注入Service

    private AdminService adminService;
    @Resource(name="adminService")
    public void setAdminService(AdminService adminService) {
        this.adminService = adminService;
    }

 

SSH开发中的注解使用

标签:family   service   声明   org   repo   odi   ota   多实例   path   

原文地址:http://www.cnblogs.com/lz2017/p/6884436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!