现有的项目,是采用Struts1.X + JDBC的做法。
用尝试着用Hibernate,也亲身的体会到Hibernate带来的好处!但是Spring,却一知半解!
通过一个XML配置文件,来得到一个实例化Bean!
有这个必要吗?
Spring到底能给我带来什么好处??
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="userBean" class="com.xxx.test.spring.UserBean">
<property name="username">
<value>Bingo</value>
</property>
<property name="userpawd">
<value>bingLONG.</value>
</property>
<property name="loginCount">
<value>3</value>
</property>
</bean>
</beans>
用尝试着用Hibernate,也亲身的体会到Hibernate带来的好处!但是Spring,却一知半解!
通过一个XML配置文件,来得到一个实例化Bean!
有这个必要吗?
Spring到底能给我带来什么好处??
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="userBean" class="com.xxx.test.spring.UserBean">
<property name="username">
<value>Bingo</value>
</property>
<property name="userpawd">
<value>bingLONG.</value>
</property>
<property name="loginCount">
<value>3</value>
</property>
</bean>
</beans>
解决方案 »
- 网上下了个SSH框架,能跑起来。然后我copy一下改了项目名之后就不能正常运行了
- java中一个包调用另一个包出现的问题解决办法(怎么编译执行)
- 几个关于J2EE框架下的web应用问题。
- (急)如何实现异步导入excel
- CSDN,怎么让这种垃圾当版主?
- hibernate中怎样操作mysql数据库中的存放的文件?
- 我是一位初哥,请教大家一个很简单的问题,就是怎么搭建一个xml和soap和jdom的环境?急!!!!!!!
- xml新手请求帮忙
- ###java调用COM组件或COM调用java组件(EJB)解决办法。###
- log4j在数据库中如何记录下已经执行的servlet类
- jdbc事务回滚必须是同一个连接吗
- 如何让applet实现静默下载?
{
UserBean userBean = new UserBean();
System.out.println(userBean.getUsername());
System.out.println(); //利用Spring调用HelloBean
Resource res = new ClassPathResource("com/xxx/test/spring/userbean.xml");
BeanFactory factory = new XmlBeanFactory(res); userBean = (UserBean) factory.getBean("userBean");
System.out.println(userBean.getUsername());
System.out.println(userBean.getUserpawd());
System.out.println(userBean.getLoginCount());
}
之前也和你一样,对Spring似懂非懂的.!
但祢项目做久了,祢会发现他的好处.它减少了祢写的代码,取代了工厂,提供HibernateTemplate模块,减少了程序的耦合度.这是我现在暂时感觉到的.
------------------
你利用Spring调用HelloBean,这个实例是别人为了演示而这样写的.
实际开发中,没那么复杂,更简单..
如果你开发一个项目的话(加入给予SSH框架的) ,项目中的类是巨多了,有许多的aciton类、actionform类 有许多的业务逻辑层类 有DAO
当然如果你不用spring去配置也行,用到某个类时可以直接new,但是这样做出来的项目维护起来很难,首先两个之间你用new的话
那么这两个类之间的耦合度就高了
而用spring以后,你不用在关心这等等的一切 ,他全部给你摆到配置文件中
你有一个UserAction ,OK!在spring中你就只要配置一下
<bean id="userAction" class="*.UserAction"></bean>
如果UserAction类中用到UserManager类的话,你也不用直接在程序中new了 ,你只需在程序中提供一个UserManager的set方法
然后在配置文件中直接配置下就完成了
<bean id="userManager" class="*.UserManager">
<property name="userManager" ref="UserManager"/>
</bean>
Spring就可以给你同意管理这些所有的aciton 类 所有的业务逻辑类 等等
当你项目写好部署到服务器运行时,服务器一启动,就会自动读取spring的配置文件,然后把你配置的这些类全部实例化好..
把你写的对象类全部给导出成数据库表,而不向你学hibernate的时候 写好的对象类还要自己写一个导出程序 给他导出成数据库表
如果你写过项目就能体会到他的妙处,很强大 .....................这样说能明白点吗
谢谢!
稍稍清楚一些了!以业务系统常见的增、删、改、查为例。...
UserBean user = new UserBean();
user.setUsername(XXX);
user.setUserpawd(XXX);
userDAO.add(user);
...我如何应用Spring??
就知道他的好处了
我没学过spring,现在看了上面的介绍,想学习学习。
另外还有一点我没有看懂:什么是类与类之间的耦合???
本人受益匪浅的地方是ioc依赖注入,aop面向切面, hibernateTemplate 这些是设计模式的经典范例,不要设计模式没有例子,
spring里全是
工厂模式,观察者模式,模板模式等太多了
关键是,要自己理解,用自己的话来表述!
才是王道!!感谢daerqwert!
某公司需要让使用的程序能查出人员信息.....这个应用显明会连接到数据库...........在这种情况下,作为开发人员来说,每个人的编码规范,逻辑思维,开发方式不同.........
那可能会导致大家没有一个“约定”条件,从而可能使系统在开发的效率降低,开发中BUG增多,甚至出现不明错误,程序难以读懂等情况.........
在这个时候,可能就需要有个人能做代码的管理任务,大家知道,这种事情会很累也很枯燥.....
那大家会不会就是想出一个办法呢!当然这个办法就是在我们开发阶段不仅能提高效率也能注重规范,使开发过程中减少不必要的时间浪费......因为程序只会开发一次,后面的扩张和升级都属于后期或二期,所以需要能便于维护也能在开发中提高效率..........提出spring就是在这种情况下,提出的........虽然当时有EJB2.0,可当时对于开发人员来说,EJB2.0太重了,在中小企项目重,无法发挥才能,反而会导致软件开发的缺陷............基本就是这样的......
应该是“尽量让NEW关键字减少”.............
最基本的他是一个很好的factory。如果你面向接口编程的话,体会会更多。如果有AOP需求的话,才更有体会。
+1 这种感觉很强烈,我也是经历了一个 反感 -> 喜欢 -> 跟本离不开 的过程。
lz一直在春天里,所以感觉不到温暖,建议去冬天、夏天以及秋天,在你经历了那些日子以后,再回到春天,
你就能感觉到Spring的温暖了。
了解一下用AOP托管事务
然后自己试试
就知道了
commit什么的操作几本不用手写了
spring的Ioc容器负责实例化对象。spring是非常不错的业务处理的轻量级的框架
再看看注解的用法 很简单service层:
@Resource
private DataDaoImpl dataDaoImpl;dataDaoImpl会在容器(tomcat)启动的时候初始化,这样你就不用再一个一个的new出来了你不觉得这样是很大的改变么.