2020年12月10日星期四

2 快速上手Spring

编写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号线站点
深圳笋岗有什么好玩的?:深圳笋岗有什么好玩的?
亚马逊运营的这些坑,你踩过几个?:亚马逊运营的这些坑,你踩过几个?

没有评论:

发表评论