日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java项目中使用spring (annotation)

發布時間:2024/1/1 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java项目中使用spring (annotation) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文使用的項目和 java 項目中使用 sping (XML) 文章所使用的項目完全一樣,annotation 相比于 XML 方式配置要更加方便快捷。 但是 XML 方式沒有侵入性, 更加符合 spring 的特性。?

先看一下項目結構吧:

?

然后是 Bean.xml 文件:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><context:annotation-config/><context:component-scan base-package="com.dqpi.spring" /></beans>

context:annotation-config 表示使用 annotation 配置,context:component-scan 表示掃描所有 com.dqpi.spring 包下有注解的類, 完成 bean 的裝配。

常用注解:

@Controller?定義控制層 Bean, 如 Action

@Service????定義業務層 Bean

@Repository??定義 DAO 層 Bean

@Component?定義組件 Bean,不用具體區分時使用。

User 模型類代碼:

@Component public class User {private int age;private String name;public int getAge () {return age;}@Value ("20")public void setAge (int age) {this.age = age;}public String getName () {return name;}@Value ("大白")public void setName (String name) {this.name = name;} }

其中 @Value 注解是給變量賦值,可以寫在成員屬性上也可以寫在 set 方法上。

UserDao 接口

public interface UserDAO {public void save (User user);}

UserDAOImp1 實現類

@Component public class UserDAOImp1 implements UserDAO {@Overridepublic void save (User user) {System.out.println ("使用 MySQL 數據庫");System.out.println (user.getName ());}}

UserDAOImp2 實現類

@Component public class UserDAOImp2 implements UserDAO {@Overridepublic void save (User user) {System.out.println ("使用 Oracl 數據庫");}}

Userservice 業務類

@Component public class Userservice {private UserDAO userDAO;private User user;public UserDAO getUserDAO () {return userDAO;}@Resource (name="userDAOImp1")public void setUserDAO (UserDAO userDAO) {this.userDAO = userDAO;}public User getUser () {return user;}@Resourcepublic void setUser (User user) {this.user = user;}public void add () {this.userDAO.save (user);}}

@Resource 是 JSR-250 提供的標準,是由甲骨文收購 java 后提出的。@Resource 注解默認按名稱裝配,當找不到名稱匹配的 bean 再按類型裝配.

還有一種自動裝配的注解,就是 @Autowired ,它默認按類型匹配,自動裝配 (Srping 提供的)。當找到多個符合類型出錯時,可以使用 @Qualifier 解決:

@Autowired

@Qualifier ("bean 的名字")?

UserMain 啟動方法

public static void main (String [] args) {ApplicationContext context =new ClassPathXmlApplicationContext ("Bean.xml");Userservice userservice =context.getBean ("userservice",Userservice.class);userservice.add ();}

?

執行結果:

?

總結

以上是生活随笔為你收集整理的Java项目中使用spring (annotation)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。