如何用eclipse搭建ssh框架
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用eclipse搭建ssh框架相关的知识,希望对你有一定的参考价值。
1:打开myeclipse,点击new-web project-选择java ee
2:点击下图中的spring3.0并选择jar包:
然后next:
点击finish,spring配置完毕。
3:在点击myeclipse-add hibernate,点击Hibernate3.3并选择jar包:
点击“next”,在下图中选择第二项
继续“next”
然后出现了配置数据库的界面,不用管,一直next,点击“finish”,hibernate配置完毕。
4:MyEclipse-Add Struts,点击struts2.1并选择jar包:
点击“finish”,ok,struts配置完毕。
5:在web.xml中加入监听,
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/application*.xml</param-value>
</context-param><!-- 当时我就是没配置这个,只配置了下面的listener结果就报错了,添上后就ok了-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
6:现在全部完成
7:配置数据库:在applicationContext.xml中添加代码:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="driverClass" value="oracle.jdbc.OracleDriver"/>
<property name="user" value="scott"></property>
<property name="password" value="tiger"></property>
<property name="maxPoolSize" value="40" />
<property name="minPoolSize" value="1" />
<property name="initialPoolSize" value="1" />
<property name="maxIdleTime" value="20" />
</bean>
8:配置hibernate映射文件(src/user.hbm.xml):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Mapping file autogenerated by MyEclipse Persistence Tools -->
<!-- hibernate映射文件 -->
<hibernate-mapping>
<class name="domain.UserDomain" table="user" ><!-- 用户实体类 -->
<property name="username" type="java.lang.String"><!-- 用户名 -->
<column name="username" length="40" />
</property>
<property name="password" type="java.lang.String"><!--密码-->
<column name="password" length="40" />
</property>
</class>
</hibernate-mapping>
至此就全部配置完毕了
参考技术A http://hi.baidu.com/wzqiajng/item/d89a0b9b22c767d11b49df16虽然链接里面的是用MyEclipse搭建的ssh2框架项目,但是一样的道理的,新建项目 加入对应的配置文件和jar等等
这个例子一样适合Eclipse搭建的
如何用注解简化SSH框架
一、简化代码第一步,删除映射文件,给实体类加上注解
@Entity //声明当前类为hibernate映射到数据库中的实体类 @Table(name="news") //声明table的名称 public class News { @Id //声明此列为主键,作为映射对象的标识符 /** * @GeneratedValue注解来定义生成策略 * GenerationType.TABLES 当前主键的值单独保存到一个数据库的表中 * GenerationType.SEQUENCE 利用底层数据库提供的序列生成标识符 * GenerationType.IDENTITY 采取数据库的自增策略 * GenerationType.AUTO 根据不同数据库自动选择合适的id生成方案,这里使用mysql,为递增型 */ @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; @Column(name="title",nullable=false) private String title; @Column(name="content",nullable=false) private String content; @Column(name="begintime",nullable=false) private Date begintime; @Column(name="username",nullable=false) private String username; public News() { super(); } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Date getBegintime() { return begintime; } public void setBegintime(Date begintime) { this.begintime = begintime; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
修改applicationContext.xml文件
<!-- 删掉这段代码 --> <!-- <property name="mappingResources"> <list> <value>news/entity/News.hbm.xml</value> </list> </property> --> <!-- 加上这段代码 --> <!-- 扫描实体类包,解析实体类的注解 --> <property name="packagesToScan"> <list> <!-- 这里value值添实体类所在的包 --> <value>news.entity</value> </list> </property>
二、用注解代替<bean>注入:
1.其实,注解本身做不了任何事情,和XML一样,只起到配置的作用,主要在于背后强大的处理器,其中就包括了<context:annotation-config/>配置项里面的注解所使用的处理器,所以配置了<context:component-scanbase-package="">之后,便无需再配置<context:annotation-config>
2.@Autowired
在java代码中使用@Autowired或@Resource注解方式进行装配 ,这两个注解的区别是:@Autowired默认按类型装配,@Resource默认按名称装配,当找不到名称匹配的bean才会按类型装配。
@Autowired一般装配在set方法之上,也可以装配在属性上边。
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个所要装配类型的bean时,就会抛出BeanCreationException异常;我们可以使用@Qualifier配合@Autowired来解决这些问题。
3.@Resource
@Resource的作用相当于@Autowired
@Resource有两个属性是比较重要的,分别是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略
4.使用Spring注解完成Bean的定义
以上我们介绍了通过@Autowired或@Resource来实现在Bean中自动注入的功能,下面我们将介绍如何注解Bean,从而从XML配置文件中完全移除Bean定义的配置。
@Component:只需要在对应的类上加上一个@Component注解,就将该类定义为一个Bean了:
使用@Component注解定义的Bean,默认的名称(id)是小写开头的非限定类名。如这里定义的Bean名称就是userDaoImpl。你也可以指定Bean的名称:
@Component("userDao")
@Component是所有受Spring管理组件的通用形式,Spring还提供了更加细化的注解形式:
@Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。目前版本)中,这些注解与@Component的语义是一样的,完全通用,在Spring以后的版本中可能会给它们追加更多的语义。所以,我们推荐使用@Repository、@Service、@Controller来替代@Component。
三、使用<context:component-scan />让Bean定义注解工作起来
以上是关于如何用eclipse搭建ssh框架的主要内容,如果未能解决你的问题,请参考以下文章