目前在Spring 2.0里,可以向Domain Model对象里注入DAO,让POJO真正变成充血模型成为现实,这就意味著可以直接在POJO对象里进行业务逻辑和事物托管,只要我们在代码里用new操作符构造出来的对象都可以给Spring容器进行托管、具体使用如下:
@Configurable(autowire=Autowire.BY_TYPE) // 加上基于jdk1.5的注解
public class User {
private int id;
private String name;
private UserDao userDao;
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
public interface UserDao {
public List<User> loadAll();
}
public class UserDaoImpl extends HibernateDaoSupport {
public List<User> loadAll() {
.......................
.......................
}
}
spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<aop:spring-configured />
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="avaJevoLI" />
<property name="maxWait" value="120000" />
<property name="maxIdle" value="10" />
<property name="maxActive" value="500" />
<property name="initialSize" value="50" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="annotatedClasses">
<list>
<value>com.zhenuu.model.User</value>
</list>
</property>
<!--
<property name="annotatedPackages">
<list>
<value>test.package</value>
</list>
</property>
-->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLInnoDBDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="userDao" class="com.zhenuu.user.dao.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="user" class="com.zhenuu.user.model.User">
<property name="userDao" ref="userDao" />
</bean>
</beans>
client.java
public class Client {
public static void main(String...args) {
new ClassPathXmlApplicationContext(new String[]{"classpath:spring.xml"});
User user = new User();
user.setId(10);
List<User> users = user.loadAll();
for(User user1 : users) {
System.out.println(user1.getName());
}
}
}
运行:
java -javaagent:G:\我的开发包\spring\spring-framework-2.0-rc2\lib\aspectj\aspectjweaver.jar Client
分享到:
相关推荐
Spring MVC是目前最流行的Java MVC框架之一,它是Spring框架的一部分,提供了丰富的特性和功能,包括依赖注入、AOP(面向切面编程)、数据访问支持、以及与各种模板引擎的集成。使用Spring MVC,开发者可以快速构建...
3. 模型(Model):Spring MVC中的模型通常由服务层对象(Service)和领域对象(Domain Object)组成。例如,Product、Category等实体类代表了应用的数据模型,而对应的服务类则封装了业务逻辑,如添加、删除和查询...
Spring是Java开发中的一个核心框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,用于简化企业级应用的开发。在本项目中,Spring作为整个架构的基础,负责管理各个组件的生命周期,提供事务管理、安全控制等...
在Spring MVC中,还有一个AOP advice,SendOrderConfirmationEmailAdvice,用于在完成一条order的数据库插入之后,向用户发送一封确认邮件,相应的配置位于applicationContext.xml中。 在org.springframework....
这个系统利用了贫血模型(Anemic Domain Model)来实现DAO层,旨在提供高效、稳定且易于维护的企业级解决方案。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,它负责处理HTTP请求,并将这些请求...
Spring则作为一个轻量级的容器,提供依赖注入(DI)和面向切面编程(AOP)功能,用于管理应用程序的组件,包括Struts和Hibernate;而Hibernate作为对象关系映射(ORM)工具,简化了数据库操作,使得Java对象可以直接...
2. Spring:Spring主要负责业务逻辑层和部分表示层的功能,它提供了依赖注入(DI)和面向切面编程(AOP),使得代码更易测试和解耦。在SSH框架中,Spring管理着Struts2的Action实例,同时也负责数据访问对象(DAO)...
**Spring** 是一个全面的企业级应用框架,它不仅支持依赖注入(DI)和面向切面编程(AOP),还包含了丰富的功能,如事务管理、安全管理、数据访问等。在业务层,Spring可以帮助开发者管理对象的生命周期,提供事务...
首先,Spring框架的核心功能如依赖注入(DI)和面向切面编程(AOP)的实现是项目的基础。Spring通过依赖注入降低了组件之间的耦合度,使得各部分模块可以更加独立地开发和测试。同时,AOP技术允许开发者将横切关注点如...
Spring.NET 提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等功能,帮助开发者构建松散耦合、可测试和可维护的软件。在本项目中,Spring.NET 被用作应用程序的底层...
**Spring**:Spring是一个全面的Java企业级应用开发框架,提供IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)等核心特性。在本项目中,Spring被用来管理bean的生命周期...
- **编写Service和DAO**:实现业务逻辑和服务接口,并通过Spring进行依赖注入。 - **编写控制器**:使用Struts的Action类处理用户的请求,并调用Service层完成相应的业务逻辑。 #### 五、总结 通过以上步骤,我们...
即表示层(Presentation Layer)、域模型层(Domain Model Layer)、 业务层(bussiness Layer)和持久层(Persistence Layer),使用Spring框架整合Struts和 Hibernate,用Spring的“控制反转IOC”, 或者“setter...
即表示层(Presentation Layer)、域模型层(Domain Model Layer)、 业务层(bussiness Layer)和持久层(Persistence Layer),使用Spring框架整合Struts和 Hibernate,用Spring的“控制反转IOC”, 或者“setter...
即表示层(Presentation Layer)、域模型层(Domain Model Layer)、 业务层(bussiness Layer)和持久层(Persistence Layer),使用Spring框架整合Struts和 Hibernate,用Spring的“控制反转IOC”, 或者“setter...
Spring则是一个全面的后端应用框架,提供了依赖注入、AOP(面向切面编程)、数据访问等多种功能;Hibernate则是一个ORM(对象关系映射)工具,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。 ...
Spring是Java应用中的核心框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,用于管理对象的生命周期和解耦应用程序组件。在SSM配置中,Spring作为容器,负责创建和管理Bean,以及处理应用程序的事务管理。 ...
- **Spring**:提供依赖注入(DI)和面向切面编程(AOP)功能,用于管理和协调其他组件,如Struts2和Hibernate。 - **Hibernate**:是一个ORM(对象关系映射)框架,使得Java对象与数据库表之间的映射变得简单,...