`
moshowgame
  • 浏览: 41225 次
  • 性别: Icon_minigender_1
  • 来自: 潮州
社区版块
存档分类
最新评论

初学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有)附上吧,免得大家到处找。

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

  • 大小: 13.3 KB
  • 大小: 14.9 KB
  • 大小: 15.2 KB
  • 大小: 18.8 KB
  • 大小: 49.9 KB
2
11
分享到:
评论
5 楼 moshowgame 2012-07-25  
南蛮虫 写道
这不是尚学堂的代码吗?



嗯。对的。。我是看着尚学堂马士兵的视频来学习的~~  觉得讲得还不错,声音也好听,很好接受。
4 楼 moshowgame 2012-07-25  
JavaChristmas 写道
都是最基本的东西吧,关于jar包的添加,加上看你的console,应该用的是汉化的eclipse吧,myeclipse开发的话就方便点,直接可以添加想要的spring功能,原理是重要的,但开发的效率也应该关注下。


嗯,好的。这确实是很基本的东西,面向新手,我是用myeclipse开发的,刚开始还是想以原理为主,越往后人会越懒,就一定会用开发效率高的东西了,直接add spring support。
3 楼 南蛮虫 2012-07-25  
这不是尚学堂的代码吗?
2 楼 JavaChristmas 2012-07-25  
都是最基本的东西吧,关于jar包的添加,加上看你的console,应该用的是汉化的eclipse吧,myeclipse开发的话就方便点,直接可以添加想要的spring功能,原理是重要的,但开发的效率也应该关注下。
1 楼 moshowgame 2012-07-24  
额。被人踩爆了踩,到近期推荐文章去了。。。坑呐....

相关推荐

Global site tag (gtag.js) - Google Analytics