spring快速入門實(shí)例教程
本文實(shí)例講述了spring的基本配置與控制反轉(zhuǎn)。分享給大家供大家參考。具體如下:
這里我們采用了maven構(gòu)建java項(xiàng)目,沒有采用maven的同樣適用。
1. 創(chuàng)建maven項(xiàng)目,我創(chuàng)建的項(xiàng)目名稱為springdemo。
2. 添加依賴包,我是通過maven添加的包,maven相關(guān)配置如下:
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
當(dāng)然,也可以直接添加jar文件。
3. 創(chuàng)建簡單包結(jié)構(gòu)
我創(chuàng)建了entity 、dao、business等包結(jié)構(gòu)。
4. 編寫簡單代碼
user,空代碼,如下:
public class User {
}
接口 IUserDao
import com.chzhao.model.User;
public interface IUserDao {
public User findUserById();
}
接口實(shí)現(xiàn)
import com.chzhao.model.User;
public class UserDaoImpl implements IUserDao {
public User findUserById() {
System.out.println("dao");
return null;
}
}
調(diào)用
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {
public IUserDao getDao() {
return dao;
}
public void setDao(IUserDao dao) {
this.dao = dao;
}
private IUserDao dao;
public User findUser() {
return dao.findUserById();
}
}
main初始化
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext act = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserManager um = (UserManager) act.getBean("userManager");
um.findUser();
}
}
相應(yīng)的配置文件
<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.xsd">
<bean id="UserDaoImpl" class="com.chzhao.dao.UserDaoImpl"/>
<bean name="userManager" class="com.chzhao.springdemo.UserManager">
<property name="dao" >
<ref bean="UserDaoImpl"/>
</property>
</bean>
</beans>
以上是正常的方式。
下面是注解的方式。
首先配置文件要改,如下
<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.xsd">
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<bean id="UserDaoImpl" class="com.chzhao.dao.UserDaoImpl"/>
<bean name="userManager" class="com.chzhao.springdemo.UserManager"> </bean>
</beans>
接口實(shí)現(xiàn)
import org.springframework.stereotype.Repository;
import com.chzhao.model.User;
@Repository
public class UserDaoImpl implements IUserDao {
public User findUserById() {
System.out.println("dao");
return null;
}
}
調(diào)用
import org.springframework.beans.factory.annotation.Autowired;
import com.chzhao.dao.IUserDao;
import com.chzhao.model.User;
public class UserManager {
@Autowired
private IUserDao dao;
public User findUser() {
return dao.findUserById();
}
}
兩種方法實(shí)現(xiàn)的是一樣的。
希望本文所述對(duì)大家的Java程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解spring cloud ouath2中的資源服務(wù)器
這篇文章主要介紹了spring cloud ouath2中的資源服務(wù)器的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02java web FTPClient實(shí)現(xiàn)上傳文件到指定服務(wù)器
這篇文章主要為大家詳細(xì)介紹了java web FTPClient實(shí)現(xiàn)上傳文件到指定服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Springboot定時(shí)任務(wù)Scheduled重復(fù)執(zhí)行操作
這篇文章主要介紹了Springboot定時(shí)任務(wù)Scheduled重復(fù)執(zhí)行操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09詳細(xì)分析java并發(fā)之volatile關(guān)鍵字
這篇文章主要介紹了java并發(fā)之volatile關(guān)鍵字的的相關(guān)資料,文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06MyBatis自定義TypeHandler如何解決字段映射問題
這篇文章主要介紹了MyBatis自定義TypeHandler如何解決字段映射問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12SpringBoot AOP處理請(qǐng)求日志打印功能代碼實(shí)例
這篇文章主要介紹了SpringBoot AOP處理請(qǐng)求日志打印功能代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java中雙冒號(hào)運(yùn)算符(::)的用法詳解
在Java 8引入的Lambda表達(dá)式和函數(shù)式接口之后,雙冒號(hào)運(yùn)算符(::)成為了一項(xiàng)重要的功能,下面我們就來學(xué)習(xí)一下Java中的雙冒號(hào)運(yùn)算符及其常見應(yīng)用場(chǎng)景吧2023-12-12