Spring学习

记录自己的学习

 

IOC

 1 //正常程序 伪代码
 2 Process p = new Process()
 3 Thread t = new thread()
 4 p.setMainThread(t)
 5 p.run()
 6 
 7 //IOC伪代码
 8 IOC ioc = new IOC()
 9 ioc.add(Process.class)
10 ioc.add(Thread.class)
11 Process p = ioc.get(Process.class)
12 p.run()

 AOP

 

如何理解切面编程

平面刀切的那个平面

切点刀切的那个位置

举例:肉夹馍

 java中的比喻成一个(切点是方法)

切面方法的前和后也就是肉夹馍切开的两片

代码也就是

 

面向切面编程理解:

代码切入到的一个指定方法指定位置的一个编程思想。

 

模块层级关系: 

view发出请求——》controller响应请求——》service操作数据——》model

model——》service处理完并返回——》controller得到返回结果,将数据返回给view——》view输出给浏览器

 

aop将作为一个通用的模块进行使用

------------------------------------------------------------------------------------------------------------------------------------

 引入的Spring Boot依赖集成了一个Spring框架的一个开发套件

 

 分析启动类WebApplication

 SpringApplication.run是核心ioc的初始化及其它的工作,在ioc初始化工作完成之后将会收到WebApplication.class的信息,

同时因为@SpringBootApplication()的注解ioc容器将开启对demo包下面的以及子包的所有类的扫描,通过扫描ioc容器会发现许多需要用到的类,

并将这些类注入进去。

 

controller

 因为@Controlle注解UserController将被注入到ioc容器中

UserController在初始化之后会有一个依赖通过@Autowrired注解声明的一个依赖,这个依赖将由ioc容器往其中注入,注入的是userService的实现层userServiceImpl,

userServiceImpl层有一个@Service()注解,因为这个注解UserServiceImpl将会注入到ioc容器中,最终ioc容器可以初始化UserServiceImpl的对象,将这个对象注入到Controller中,

这样在ioc容器中就能拿到一个完整的UserController对象(依赖也就自动装配好了),这就是ioc容器的作用。

 

 

理解记忆:

ioc——比作容器(通过注入的方式)

@Autowrired注解——比作Controller层到Service层搬运的小兵

@Service注解——比作ServiceImpl层到Service

Controller层中类上面的@Autowrired小兵将由ioc容器往其中注入,注入的是userService的实现层userServiceImpl,

Service层中类上面的@Service()小兵将ServiceImpl将会注入到ioc容器中,最终ioc容器可以初始化UserServiceImpl的对象,

将这个对象注入到Controller中

 -------------------------------------------------------------------------------------------------------------------------------------------------------

AOP下面的包

LogAspect类

 @Pointcut()为切点注解

因为@Pointcut()注解,log代表一个切点

 @Pointcut()中的public * demo.controller.*.*(..)告诉了所有切点的位置,demo中所有类,所有公开的方法作为一个切点,进行一个切面编程

@Before()注解,是定义了一个切面

@Before(“log()”)中@Before()注解是在log切点方法之前

 

 

web mvc架构的使用

视图层是将视图转成一个包含真实数据的页面,返回给浏览器

controller层对

 

------------------------------------------------------------------------------

 

 ----------------------------------------------------------------

视频地址:https://www.bilibili.com/video/av24262882

posted @ 2019-04-29 09:57  贩卖长江水  阅读(167)  评论(0编辑  收藏  举报