发布于 2016-07-21 04:55:16 | 138 次阅读 | 评论: 0 | 来源: 网友投递
Spring Framework 开源j2ee框架
Spring是什么呢?首先它是一个开源的项目,而且目前非常活跃;它是一个基于IOC和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口,采用IOC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment,等等
本文实例讲述了spring的基本配置与控制反转。分享给大家供大家参考。具体如下:
这里我们采用了maven构建java项目,没有采用maven的同样适用。
1. 创建maven项目,我创建的项目名称为springdemo。
2. 添加依赖包,我是通过maven添加的包,maven相关配置如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
当然,也可以直接添加jar文件。
3. 创建简单包结构
我创建了entity 、dao、business等包结构。
4. 编写简单代码
user,空代码,如下:
package com.chzhao.model;
public class User {
}
package com.chzhao.dao;
import com.chzhao.model.User;
public interface IUserDao {
public User findUserById();
}
接口实现
package com.chzhao.dao;
import com.chzhao.model.User;
public class UserDaoImpl implements IUserDao {
public User findUserById() {
System.out.println("dao");
return null;
}
}
调用
package com.chzhao.springdemo;
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {
public IUserDao getDao() {
return dao;
}
public void setDao(IUserDao dao) {
this.dao = dao;
}
private IUserDao dao;
public User findUser() {
return dao.findUserById();
}
}
main初始化
package com.chzhao.springdemo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext act = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserManager um = (UserManager) act.getBean("userManager");
um.findUser();
}
}
相应的配置文件
<?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.xsd">
<bean id="UserDaoImpl" class="com.chzhao.dao.UserDaoImpl"/>
<bean name="userManager" class="com.chzhao.springdemo.UserManager">
<property name="dao" >
<ref bean="UserDaoImpl"/>
</property>
</bean>
</beans>
以上是正常的方式。
下面是注解的方式。
首先配置文件要改,如下
<?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.xsd">
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<bean id="UserDaoImpl" class="com.chzhao.dao.UserDaoImpl"/>
<bean name="userManager" class="com.chzhao.springdemo.UserManager"> </bean>
</beans>
接口实现
package com.chzhao.dao;
import org.springframework.stereotype.Repository;
import com.chzhao.model.User;
@Repository
public class UserDaoImpl implements IUserDao {
public User findUserById() {
System.out.println("dao");
return null;
}
}
调用
package com.chzhao.springdemo;
import org.springframework.beans.factory.annotation.Autowired;
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {
@Autowired
private IUserDao dao;
public User findUser() {
return dao.findUserById();
}
}
两种方法实现的是一样的。
希望本文所述对大家的Java程序设计有所帮助。