初学spring项目(入门解读和新建项目)

这几天初学spring,整理了一下,这里是入门和新建项目,通过小项目,才能小小掌握spring的原理和方法,更重要的是去解读一下这种思想bean.xml#(model->DAL->DAO.impl->Service)的思想

 

根据模型生成数据访问对象接口,再根据接口生成具体实现,然后再将处理业务类封装在service里面,接着生成xml来声明service和dao.impl的bean,最后通过spring的bean容器来进行依赖注入。

 

1.new一个web projectnew下图那些包和类。


2.User是用户模型类,UserDAO是用户的数据访问对象类,UserDapImpl是用户的数据访问对象具体实现类,UserService是用户的业务处理类。Bean.xmlspring的容器配置文件(默认读取的是applicationContext.xml,但这里我们做一下特殊,方便学习)test是测试目录,包含UserServiceTest测试文件(newjunit test case)。

3.类库包含jdkspring.jarcommons-logging.jarjunit.jar(这个点add libraries添加类库,的时候可以看到)

*.这里顺便解决了一个自己长久以来的小困惑,就是spring/hibernate/struts官方并没有提供spring.jar/hibernate.jar/struts.jar这种集成的jar,这些都是民间(大部分情况是培训机构一些老师)自己根据需要集成的,如果从官方下载的话是有很多包的,自己根据需要添加即可。


 

--------------------------------------------------------------------------------------------------------------------

public class User {

private String username;

private String password;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

--------------------------------------------------------------------------------------------------------------------

public interface UserDAO {

public void save(User user);

}

--------------------------------------------------------------------------------------------------------------------

public class UserDAOImpl implements UserDAO {

public void save(User user) {

//如果实现的方法因数据库或环境不同,只需要修改这里

System.out.println("user saved!");

}

}

--------------------------------------------------------------------------------------------------------------------

public class UserService {

private UserDAO userDAO;  

public void add(User user) {

userDAO.save(user);

}

public UserDAO getUserDAO() {

return userDAO;

}

public void setUserDAO(UserDAO userDAO) {

this.userDAO = userDAO;

}

public UserService(UserDAO userDAO) {

super();

this.userDAO = userDAO;

}

}

--------------------------------------------------------------------------------------------------------------------

<?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-2.5.xsd">

<!--上面是大豆s的说明,下面是每颗小豆的声明,userService(ref)参考自ubean 

然后bean的命名除了可以设置id还可以设置name,不过常用的还是ID,规范一点就好,用那么则可以使用特殊字符,但是没必要。-->

  <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl"></bean>

  <bean id="userService" class="com.bjsxt.service.UserService">

    <constructor-arg>

     <ref bean="u"/>

    </constructor-arg>

  </bean>

</beans>

--------------------------------------------------------------------------------------------------------------------

public class UserServiceTest {

@Test

public void testAdd() throws Exception {

ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");

UserService service = (UserService)ctx.getBean("userService");

User u = new User();

u.setUsername("zhangsan");

u.setPassword("zhangsan");

service.add(u);

}

}

--------------------------------------------------------------------------------------------------------------------


 运行结果,完美!


 

 

- -不过重要的是解读一下spring的思想,知道为什么。

 

⊙_⊙附件包括运行项目源码和用到的jar包(JDK自带和JUNIT在eclipse有)附上吧,免得大家到处找。

^_^还有什么好方法或者疑问和意见欢迎大家提出来一起讨论!

猜你喜欢

转载自moshow.iteye.com/blog/1605087