Spring笔记

控制反转:
Hello 对象是谁创建的?
   Hello对象是Spring创建的
Hello 对象的属性是怎么设置的?
   Hello对象的属性是Spring容器设置的
这个过程就叫做控制反转
控制:谁来控制对象的创建,传统应用程序的对象是由程序本身创建的,
使用Spring后,对象由Spring来创建
反转:程序本身不创建对象,而变成被动的接收对象
依赖注入:就是使用set方法来进行注入
IOC是一种编程思想,由主动的编程变成被动的接收
可以通过newClassPathXmlAppliacationcontext去浏览一下底层源码
到了现在,我们彻底不需要再到程序中去改动了,要实现不同操作,
只需要xml配置文件中进行修改,所谓的IOC,一句话搞定:
对象由Spring来创建来管理,装配!
-------------------------------
Xml与注解:
xml:更加万能,使用任何场合,维护简单方便
注解:不是自己的类使用不了
xml与注解最佳实践:
xml用来管理bean   注解负责完成属性的注入
注意:使用过程中,让注解生效,必须开启注解的支持!

在类上面加上@Component  <===><bean id=" user"   class="com.zhs.User"/>
  <!--开启注解的支持必须要有!!!--> <context:annotation-config/> <!--指定要扫描的包,这个包下面的注解就会生效--> <context:component-sacan base-packge="com.zhs"/>  

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

@Component衍生注解:

dao [@Resposity]
service [@Service]
controller [@Controller]
这几个注解用法一样,都是代表将某个类注册到Spring中,装配Bean

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

Bean的自动装配:
1.自动装配是Spring满足bean依赖一种方式
2.Spring在上下文中自动寻找,并自动给bean装配属性
在Spring中有三种装配的方式:
1.在xml中现实的配置
2.在Java中显示的配置
3.隐式的自动装配  【重要】
@Autowired:自动装配通过类型,名字
如果@Autowired不能唯一自动装配属性,则需要通过@Qualifier(value="")

byName:会自动在容器上下文查找,和自己对象set方法后面的值对应的beanid!

byType:会自动在容器上下文查找,和自己对象属性类型相同的bean

假如有三个实体类People,Cat,Dog  在实体类上加上@Autowire

<bean class="com.zhs.pojo.Cat"/>
<bean class="com.zhs.pojo.Dog"/>
<!--前两个类的bean没有id,只有people类有id, 使用byType,结果可以输出三个实体类的方法-->
<bean id="people" class="com.zhs.pojo.People" autowire="byType">
    <property name="name"  value="你好啊"/>


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

注解实现aop:
1.bean
<bean id="实体类" class="全限定类名"
<!--开启aop注解支持-->
<aop:aspectj-autoproxy/>
2.实体类注解
@Aspect//标注这个类是一个切面
3.方法上加上注解,切入点
//方法执行前
@Before("execution(com.zhs.service.UserServiceImp.*(..))")
//方法执行后
@After("execution(com.zhs.service.UserServiceImp.*(..))")
//环绕增强中,我峨嵋你可以给定一个参数,代表我们要获取处理切入的点
@Around("execution(com.zhs.service.UserServiceImp.*(..))")
执行顺序:环绕前  方法执行前  方法执行   环绕后   方法执行后
---------------------------------------
spring整合mybatis:
1.导入的jar
junit  mysql  mybatis  spring-webmvc  spring-jdbc  aspectjweaver  mybatis-spring
还有一个静态资源处理的那个绑定  build的那个
2.spring-dao.xml配置Datasource数据源,这里我们使用Spring提供的JDBC:
org.springframework.jdbc.datasource.DriverManagerDataSource

<bean id="datasource"  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="                       "/>
      <property name="username" value="root"/>
      <property name="password" value="123456"/>

 


3.配置sqlSessionFactory,属性里引入datasource
4.在sqlSessionFactory里面绑定mybatis的配置文件(没有就不用)
5.引入sqlSessionTemplate

 

posted @ 2020-03-14 20:35  lemmon_water  阅读(132)  评论(0)    收藏  举报