编写Spring程序
module:spring-02-hellospring
导入jar包
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version> </dependency>
编写代码
1、编写Hello实体类
package com.zzb.pojo;public class Hello { private String str; public void setStr(String str) { this.str = str; } @Override public String toString() { return "Hello{" + "str='" + str + '\'' + '}'; }}
2、编写Spring的配置文件,名为beans.
<?
3、测试
import com.zzb.pojo.Hello;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPath
测试结果:
Hello{str='Spring'}
思考题
- Hello 对象是谁创建的?——hello对象由Spring创建的。
- Hello 对象的属性是怎么设置的?——hello 对象的属性是由Spring容器设置的。
该过程叫做控制反转:
- 控制:谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的。
- 反转:程序本身不创建对象 , 而变成被动的接收对象 。
依赖注入 : 就是利用set方法来进行注入的。
IOC是一种编程思想,由主动的编程变成被动的接收。
修改module:spring-01-ioc1的代码
新增一个Spring的配置文件beans.
<?
测试:
import com.zzb.service.UserService;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPath
测试结果:
获取Mysql数据!
至此,要实现不同的操作,不再需要修改程序,仅需要在
IOC创建对象的方式
module:spring-03-ioc2
通过无参构造函数创建
1、User实体类
package com.zzb.pojo;public class User { public User(){ System.out.println("无参构造"); } private String name; public void setName(String name) { this.name = name; } public void show(){ System.out.println("name: " + name); }}
2、beans.
<?
3、测试
import com.zzb.pojo.User;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPath
测试结果:
无参构造name: Zzb
通过结果,可以发现在调用User实体类的show()方法前,User对象就已经通过无参构造初始化的了!
通过有参构造方法来创建
1、实体类UserT
package com.zzb.pojo;public class UserT { private String name; public UserT(String name){ this.name = name; System.out.println("有参构造"); System.out.println(name); }}
2、beans.
方式一:
<!-- 第一种根据参数名字设置 --> <bean id="userT" > <constructor-arg name="name" value="Zzb"/> </bean>
方式二:
<!-- 第二种根据index参数下标设置 --><bean id="userT" > <!-- index指构造方法 , 下标从0开始 --> <constructor-arg index="0" value="zzb"/></bean>
方式三:
<!-- 第三种根据参数类型设置 --><bean id="userT" > <constructor-arg type="java.lang.String" value="zzb"/></bean>
测试:
import com.zzb.pojo.User;import com.zzb.pojo.UserT;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPath
测试结果:
无参构造有参构造Zzbname: Zzb
结论:在配置文件加载的时候。其中管理的对象都已经初始化了!
Sring的一些配置
别名
alias 设置别名,为bean设置别名,可以设置多个别名
<!--设置别名:在获取Bean的时候可以使用别名获取--><alias name="userT" alias="userNew"/>
bean的配置
module:spring-02-hellospring
<!--bean就是java对象,由Spring创建和管理--><!-- id 是bean的标识符,要唯一,如果没有配置id,name就是默认标识符 如果配置id,又配置了name,那么name是别名 name可以设置多个别名,可以用逗号,分号,空格隔开 如果不配置id和name,可以根据applicationContext.getBean(.class)获取对象;class是bean的全限定名=包名+类名--><bean id="hello" name="hello2 h2,h3;h4" > <property name="name" value="Spring"/></bean>
import导入配置文件
<import resource="{path}/beans.
通过import可以实现,多个配置文件的关联。
原文转载:http://www.shaoqun.com/a/497511.html
淘粉吧官网:https://www.ikjzd.com/w/1725.html
贝贝网:https://www.ikjzd.com/w/1321
跨国采购网:https://www.ikjzd.com/w/2270.html
编写Spring程序module:spring-02-hellospring导入jar包<!--https://mvnrepository.com/artifact/org.springframework/spring-webmvc--><dependency><groupId>org.springframework</groupId><art
netporter:netporter
上海跨境通:上海跨境通
一条线游遍武汉文艺地揭秘最具文艺范的地铁2号线站点:一条线游遍武汉文艺地揭秘最具文艺范的地铁2号线站点
深圳笋岗有什么好玩的?:深圳笋岗有什么好玩的?
亚马逊运营的这些坑,你踩过几个?:亚马逊运营的这些坑,你踩过几个?
没有评论:
发表评论