Spring学习(二)(1.Spring依赖注入的方式 2.依赖注入的类型 3.Bean的作用域 4.自动注入 5在Spring配置文件中引入属性文件6使用注解的方式 )...

大纲

1.Spring依赖注入的方式

2.依赖注入的类型

3.Bean的作用域

4.自动注入

5.Spring配置文件中引入属性文件

6.使用注解的方式

1.Spring依赖注入的方式

1.1通过set方法来完成依赖注入

*property标签:示例中就是通过set方法来注入Hello类的name属性的值

   属性:name="属性名"、value="属性值"

1  <bean id="hello1" class="com.zhiyou.clg.spring.Hello">
2         <property name="name" value="张三" />
3 </bean>

 

 1.2通过构造方法来完成依赖注入

*constructor-arg标签:表示构造方法的参数

  属性:index:表示第几个参,下表索引从0开始
       name:构造方法的参数名
       value:注入的属性值
       ref:指向另一个bean对象

1 <!-- constructor-arg:构造方法的参数
2             index:表示第几个参,下表索引从0开始
3             name:构造方法的参数名
4             value:注入的属性值
5             ref:指向另一个bean对象 -->
6     <bean id="hello2" class="com.zhiyou.clg.spring.Hello">
7         <constructor-arg index="0" value="李四" />
8         <constructor-arg index="1" value="25" />
9     </bean>

*具体步骤(java工程):

1)导入jar包(logging、beans、context、core、expression)

2)创建Hello类,添加属性、set、get方法

3)在resource目录下,新建Spring Bean Definition file文件(文件名app1.xml)

  在app1.xml文件中填加bean标签(属性:id、class),bean标签中添加property标签(属性:name、value)

3)测试时:

*创建测试类,添加main函数,

测试:通过set方法来完成依赖注入。

 测试:通过构造方法来完成依赖注入。

 

2.依赖注入的类型

 1)基本数据类型和字符串,使用value

2)类对象注入的属性类型为另一个对象,使用ref属性或者使用在property标签内嵌套使用bean标签从而注入对象

*使用ref属性

*在property标签内嵌套使用bean标签

3)类对象注入的属性类型为list类型

 4)类对象注入的属性类型为map类型

3.Bean的作用域

Bean的作用域,默认为单例模式(无论创建多少对象,都指向同一个地址)
scope:表示bean的作用域,默认为singleton(单例模式)
prototype:原生,即非单例
struts2:表示该框架要求非单例

 

1  <bean id="hello1" class="com.zhiyou.clg.spring.Hello" scope="prototype">
2        <property name="name" value="张三" />
3  </bean> 

 

4.自动注入

 autowire:自动注入属性
 byType:根据userDao属性的类型,找到与之匹配的bean
 byName:根据属性名找与之匹配bean的id
 no:需要手动注入
 default:设置全局的 default-autowire="default"

1 <bean id="uservice" class="com.zhiyiou.clg.service.UserService" autowire="byType">
2         <!-- <property name="userDao" ref="uDao"></property> -->
3 </bean>

 

5Spring配置文件中引入属性文件

 1)在resource目录下新建my.properties文件,在文件中写入属性的值

 

 2)在xml配置文件中引入属性文件 ,再使用${变量名 }将属性的值替换

6使用注解的方式(使用注解的方式时,属性的set方法可写可不写)

1)增加导入aop的jar包

2)创建UserDao的接口和UserDaoImp实现类

*UserDao接口中写入相关方法

*UserDaoImp实现UserDao接口,重写接口中的方法

 

3)创建UserService的接口和UserServiceImp实现类

*UserService接口写入相关方法

*UserServiceImp依赖UserDao接口,即在该实现类中定义UserDao属性

*UserServiceImp实现UserService接口,重写接口中的方法,可通过UserDao对象调用UserDaoImp中的方法

4)创建UserController类

 *UserController依赖UserService接口,即在该类中定义UserService属性

*添加相关方法,可以通过UserService对象调用UserServiceImp中的方法

5)在resource目录下新建Spring Bean Definition file文件(文件名为:app4.xml)

在该配置文件中添加包扫描

6)添加注解

@Repository(value=“userDao“)//@Repository 持久化DAO  等价于<bean id="" class="">
@Service(value="userService")   //业务层注解
依赖的属性添加自动注入
@Autowired//自动注入注解  默认按照类型注入,若有多个类型相同的那么就会按照名称注入(建议使用这个)
@Resoure//自动注入  自动按照名称注入,若没有名称相同的bean那么就按照类型来注入, 也可以添加name,按照指定的名称注入
@Controller  //控制层注解

@Component(组件)

*注解@Repository、@Service、@Controller、@Controller可以混用,但无法达到见名知意的作用,故区别使用

*UserDaoImp实现类中的注解

*UserServiceImp实现类中的注解

 

 *UserController中的注解

7)测试:

 

转载于:https://www.cnblogs.com/jingmochen/p/11477061.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值