java自动注入_Spring自动注入

一.自动注入

1.在 Spring 配置文件中对象名和 ref=”id”id 名相同使用自动注入,可以 不配置

2.两种配置办法

2.1 在中通过 autowire=”” 配置,只对这个生效

2.2 在中通过 default-autowire=””配置,表当当前文件中所 有都是全局配置内容

3.autowire=”” 可取值

3.1 default: 默认值,根据全局 default-autowire=””值.默认全局和局

部都没有配置情况下,相当于 no

3.2 no: 不自动注入

3.3 byName: 通过名称自动注入.在 Spring 容器中找类的 Id

3.4 byType: 根据类型注入.

3.4.1 spring 容器中不可以出现两个相同类型的

3.5 constructor: 根据构造方法注入.

3.5.1 提供对应参数的构造方法(构造方法参数中包含注入对

戏那个)

3.5.2 底层使用 byName, 构造方法参数名和其他的 id 相同.

二. Spring中加载properties文件

在 src 下新建 xxx.properties 文件

在 spring 配置文件中先引入 xmlns:context,在下面添加

2.1 如果需要记载多个配置文件逗号分割

添加了属性文件记载,并且在中开启自动注入注意的地方

3.1 SqlSessionFactoryBean 的 id 不能叫做 sqlSessionFactory

3.2 修改

3.2.1 把原来通过ref引用替换成value赋值,自动注入只能影响 ref,不会影响 value 赋值

value="com.bjsxt.mapper">

value="factory">

在被Spring管理的类中通过@Value(“${key}”)取出properties中内容

4.1 添加注解扫描

4.2 在类中添加

4.2.1 key 和变量名可以不相同

4.2.2 变量类型任意,只要保证 key 对应的 value 能转换成这个

类型就可以.

@Value("${my.demo}")

private String test;

三.scope 属性

的属性

作用:控制对象有效范围(单例,多例等)

标签对应的对象默认是单例的.

3.1 无论获取多少次,都是同一个对象

scope可取值

4.1 singleton 默认值,单例

4.2 prototype 多例,每次获取重新实例化

4.3 request 每次请求重新实例化

4.4 session 每个会话对象内,对象是单例的.

4.5 application 在 application 对象内是单例

4.6 global session spring 推出的一个对象 , 依赖于 spring-webmvc-portlet ,类似于 session

Spring中常用注解

@Component 创建类对象,相当于配置

@Service 与@Component 功能相同.

2.1 写在 ServiceImpl 类上.

@Repository 与@Component 功能相同.

3.1 写在数据访问层类上.

@Controller 与@Component 功能相同.

4.1 写在控制器类上.

@Resource(不需要写对象的get/set)

5.1 java 中的注解

5.2 默认按照 byName 注入,如果没有名称对象,按照 byType 注入

5.2.1 建议把对象名称和 spring 容器中对象名相同

@Autowired(不需要写对象的get/set)

6.1 spring 的注解

6.2 默认按照 byType 注入.

@Value()获取properties文件中内容

@Pointcut() 定义切点

@Aspect() 定义切面类

@Before() 前置通知

@After 后置通知

@AfterReturning 后置通知,必须切点正确执行

@AfterThrowing 异常通知

@Arround 环绕通知

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值