spring中packagesToScan的解释

如果你使用早前版本的Spring,又恰好采用了Annotation注解方式(而非传统XML方式)配置Hibernate对象关系映射,那么在通过 org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean 配置sessionFactory时,你一定对annotatedClasses、annotatedPackages有一种说不出的胸闷的感觉,如此以 高配置性见长的Spring,怎么在这一个小小的环节上就不能做得再灵活些呢,一定要一个个手写Class路径么?

    估计有不少人无奈选择了从AnnotationSessionFactoryBean继承一个自定义的子类,自己实现扫描逻辑,找出@Entity注解过的类清单配置进去。

    Spring 2.5.6里有个不怎么起眼的改进,那就是在AnnotationSessionFactoryBean上增加了一个新的方法:setPackagesToScan(String[] packagesToScan)

    有了这个方法,我们不再需要自己动手去实现实体类的扫描了,直接在Spring配置文件中AnnotationSessionFactoryBean这个 section上增加类似如下的一个property即可(假定你需要加载的实体类所在的包名match这个字符串"com.**.bo"):

 

< property  name ="packagesToScan"  value ="com.**.bo" />

    你也可以以清单的方式指定多于1条的匹配字串,如:

 

< property  name ="packagesToScan" >
    
< list >
        
< value > com.abc.core.bo </ value >
        
< value > com.abc.auditing.bo </ value >
    
</ list >
</ property >

Spring ORM 是 Spring 框架的一个模块,它提供了一种方便的方式来集成 ORM 框架,如 Hibernate、JPA 等,以便于在 Spring 应用使用 ORM 技术。下面是 Spring ORM 的使用教程: 1. 添加依赖 在 Maven 或 Gradle 添加 Spring ORM 依赖: Maven: ```xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>5.3.8</version> </dependency> ``` Gradle: ```groovy implementation 'org.springframework:spring-orm:5.3.8' ``` 2. 配置数据源 在 Spring 应用使用 ORM 技术,需要先配置数据源。可以使用 Spring 提供的 DriverManagerDataSource 或者使用连接池技术,如 C3P0。 例如,配置 DriverManagerDataSource: ```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/test" /> <property name="username" value="root" /> <property name="password" value="123456" /> </bean> ``` 3. 配置 ORM 框架 Spring ORM 提供了对多种 ORM 框架的集成支持,如 Hibernate、JPA 等。在使用之前,需要先配置相应的 ORM 框架。 例如,配置 Hibernate: ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan" value="com.example.entity" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> ``` 4. 配置事务管理器 Spring ORM 还提供了事务管理器,通过它可以方便地管理事务。在 Spring 应用使用 ORM 技术,需要先配置事务管理器。 例如,配置 Hibernate 的事务管理器: ```xml <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> ``` 5. 配置 DAO 层 DAO 层是 ORM 框架和业务逻辑层之间的桥梁。在 Spring 应用使用 ORM 技术,需要先配置 DAO 层。 例如,配置 Hibernate 的 DAO 层: ```java @Repository public class UserDaoImpl extends HibernateDaoSupport implements UserDao { public User findUserById(int id) { return getHibernateTemplate().get(User.class, id); } public void saveUser(User user) { getHibernateTemplate().save(user); } public void updateUser(User user) { getHibernateTemplate().update(user); } public void deleteUser(User user) { getHibernateTemplate().delete(user); } } ``` 6. 使用 ORM 技术 配置完成后,就可以在业务逻辑层使用 ORM 技术了。 例如,使用 Hibernate: ```java @Service @Transactional public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; public User findUserById(int id) { return userDao.findUserById(id); } public void saveUser(User user) { userDao.saveUser(user); } public void updateUser(User user) { userDao.updateUser(user); } public void deleteUser(User user) { userDao.deleteUser(user); } } ``` 以上就是 Spring ORM 的使用教程,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值