JAVA_OA管理系统(三):Spring参数注入
生活随笔
收集整理的這篇文章主要介紹了
JAVA_OA管理系统(三):Spring参数注入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模塊總述:
分為五個模塊:諸如基本值,注入Bean對象,注入集合,注入spring表達式,注入null或者空字符串。 /*** Java bean* 規范* 1 這個類必須有包* 2 必須繼承 Serializable* 3 有無參的構造器* 4 有get set 方法* * 注意:其實現在用注解的比較多,但是xml是最基本的。*/一.注入基本值
<value>元素可以通過字符串指定屬性或者構造器的值,容器會將字符串從Java.lang.String類型轉化為實際的屬性或參數類型然后注入給bean
<bean id="student" class="com.throne.Student" ><property name="name" value=“FontThrone”></property></span><property name="age"> <span style="white-space:pre"> </span><value>18<value> </property></bean>
private String name;private String age;public Student() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}
String str="applicationContext.xml";ApplicationContext ac=new ClassPathXmlApplicationContext(str);Student s=ac.getBean("student",Student.class);System.out.println(s.getAge()+"\n"+s.getName());
結果: 18 FontThrone
二.注入Bean對象
<bean id="student" class="com.lpc.entity.Student" >//交給容器管理,注冊時,如果是Bean對象,要用ref引用<property name="book" ref="book"></property></bean><bean id="book" class="com.throne.Book"><property name="bookId" value="12"></property><property name="bookName" value="平凡的世界"></property></bean><span style="white-space:pre"> </span>private Book book;public Student() {}...public Book getBook() {return book;}public void setBook( Book book) {this.book = book;}
//之前的重復部分(創建ApplicationContext等)省略掉 System.out.println(s.getBook().getBookName());結果: <span style="white-space:pre"> </span>平凡的世界
三.注入集合
<bean id="message" class="com.throne.entity.Message"><property name="list" ref="ppp"></property><property name="set"><set><value>張三</value><value>李四</value><value>王五</value></set></property><property name="map"><map><entry key="語文" value="80"></entry><entry key="數學" value="100"></entry><entry key="英語" value="60"></entry></map></property><!-- 1 采用引入的方式注入集合a 先聲明集合bean,然后采用引用的方式將這些bean注入給Message使用<util>標簽聲明集合bean,然后在MessageBean下使用<property>標簽引用這些集合bean。2 為什么要使用引入的方式引入的方式就是為了我們方便復用代碼 !important 如果別的bean里面也要復用 那么就用它 --><util:list id="ppp"><value>蘭州</value><value>北京</value><value>長沙</value></util:list>private List<String> list;private Set<String> set;private Map<String,Object> map;private Properties properties; // 注意導入的是until的包,而非sun的:import java.util.Properties;public Message() {}public List<String> getList() {return list;}public void setList(List<String> list) {this.list = list;}public Set<String> getSet() {return set;}public void setSet(Set<String> set) {this.set = set;}public Map<String, Object> getMap() {return map;}public void setMap(Map<String, Object> map) {this.map = map;}public Properties getProperties() {return properties;}public void setProperties(Properties properties) {this.properties = properties;}
Message m=ac.getBean("message",Message.class);List<String> list=m.getList();for(String ss:list){System.out.println(ss);}Set set=m.getSet();Iterator<String> it=set.iterator();while(it.hasNext()==true){System.out.println(it.next());System.out.println("11111");}
結果:
蘭州
北京
長沙
張三
11111
李四
11111
王五
11111
四.表達式注入
A a=ac.getBean("ddd",A.class);System.out.println(a.getUser());/** 注入表達式Spring引入了一種表達式語言,在語法上與EL的語法很相似,用來讀取一個bean中的屬性。xml配置:<util:properties id="jdbc1" location="classpath:db.properties"></util:properties>--><bean id="ddd" class="com.tanzhou.entity.A"><property name="user" value="#{jdbc1.user}"></property></bean>類:public class A implements Serializable {private String user;public A() {}public String getUser() {return user;}public void setUser(String user) {this.user = user;}執行:A a=ac.getBean("ddd",A.class); System.out.println(a.getUser());* */此時讀取的是與配置的xml文件同一目錄下的db.properties文件,它只有一句話的內容:user=scott
五.注入null或者空字符串
注入空值和字符串(了解內容)? ? ?給一個屬性注入字符串
? ? <property ?name=“name” value=“”></property>
? ? 注入空值
? ? <property ?name=“name”><null/><property>
總結
以上是生活随笔為你收集整理的JAVA_OA管理系统(三):Spring参数注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA_OA管理系统(二):Sprin
- 下一篇: JAVA_OA管理系统(二)番外篇:Io