註解簡化SSH框架

2021-07-23 19:38:58 字數 4119 閱讀 2854

<

bean

id="sessionfactory"

class

="org.springframework.orm.hibernate5.localsessionfactorybean"

>

<

property

name

="datasource"

ref="datasource"

/>

<

property

name

="hibernateproperties"

>

<

props

>

<

prop

key="hibernate.dialect"

>org.hibernate.dialect.mysql5dialect

prop

>

<

prop

key="hibernate.show_sql"

>true

prop

>

<

prop

key="hibernate.format_sql"

>true

prop

>

<

prop

key="hibernate.connection.autocommit"

>false

prop

>

<

prop

key="hibernate.hbm2ddl.auto"

>update

prop

>

props

>

property

>

<

property

name

="annotatedclasses"

>

<

list

>

<

value

>entity.news

value

>

list

>

property

>

bean

>

<

bean

id="datasource"

class

="com.mchange.v2.c3p0.combopooleddatasource"

>

<

property

name

="driverclass"

value

="com.mysql.jdbc.driver"

/>

<

property

name

="jdbcurl"

value

="jdbc:mysql://localhost:3306/news"

/>

<

property

name

="user"

value

="root"

/>

<

property

name

="password"

value

="123456"

/>

<

property

name

="idleconnectiontestperiod"

value

="300"

>

property

>

<

property

name

="maxidletime"

value

="900"

>

property

>

<

property

name

="maxpoolsize"

value

="2"

>

property

>

bean

>

然後刪除hibernate.cfg.xml檔案

2、刪除對映檔案,給實體類加上註解(簡化實體類)

@entity        //宣告當前類為hibernate對映到資料庫中的實體類

@table(name="news") //宣告table的名稱

public class news

public integer getid()

public void setid(integer id)

public string gettitle()

public void settitle(string title)

public string getcontent()

public void setcontent(string content)

public date getbegintime()

public void setbegintime(date begintime)

public string getusername()

public void setusername(string username)

}

<

property

name

="packagestoscan"

>

<

list

>

<

value

>entity.news

value

>

list

>

property

>

然後刪除news.hbm.xml檔案

把set注入改用註解注入,這裡分兩種:一種是jdk的註解@resource,另一種是spring自帶的註解@autowired、@qualifier

jdk的註解@resource:

@resource(name="sessionfactory")

private sessionfactory sf;

在需要注入的屬性上加上@resource(name="sessionfactory") ,name是你要注入的實現類。

spring自帶的註解@autowired、@qualifier:

@autowired

@qualifier("sessionfactory")

private sessionfactory sf;

@qualifier("sessionfactory")可以不加,spring會更加型別進行注入,如果多個屬性都注入同乙個實現類,spring可能會注入錯誤,所以最好加上。

context:annotation-config

/>

之後就可以把

public

void

setsf(sessionfactory sf)

刪除。

(1.

<

context:component-scan

base-package

="dao"

>

context:component-scan

>

base-package 要掃瞄的包名,多個可以用逗號隔開。 (

2.)使用spring的註解@repository(資料訪問層對應dao)、@service(業務層對應service)、@controller(控制層對應action)

@repository("newsdaoimpl")

@scope("prototype")

public

class newsdaoimpl implements

newsdaointf

@scope("prototype")非單例模式,每次接收乙個請求建立乙個action物件,(@repository、@service、@controller這三個註解也可以混用,spring現在還無法識別具體是哪一層。)

SSH框架之Spring註解

晚上的學習資料實在太多,在這裡我只是簡單地總結 我們知道如果不想在xml檔案中配置bean,我們可以給我們的類加上spring元件註解,只需再配置下spring的掃瞄器就可以實現bean的自動載入。spring自動載入註解 spring 2.5引入了更多典型化註解 stereotype annota...

SSH框架 註解配置,bean註解 事物註解等

2.檔案內部配置 bean註解管理 spring自動掃瞄管理bean註解有四種配置模式,如下 service 用於業務層 service 示例 service baseservice controller 用於控制層 action 示例 controller baseaction repositor...

SSH框架整合 註解的方式

首先,匯入乙個jar,struts2 convention plugin 2.3.24.jar.只有匯入了這個jar包,才能使用struts2框架的註解 其他的jar包請檢視我的另一篇文章 ssh框架整合 xml方式 以下是配置檔案 web.xml 檔案中要配置 配置spring與struts2 s...