spring

spring
XML
id=“自己命名唯一标识” class=“实现类”
//注入

类里面的实现1
BeanFactory 名子=new XmlBeanFactory(new FilelnputStream(“要传递的名字.XML”))
BeanFactory 常用方法如下
getBean(id);
getBean(id,类名)生成相应对象
类里面实现方法二
ApplicationContext
提供访问资源文件更简便的方法
FileSystemXmlApplicationContext
从文件中xml文件中加载上下文中定义的信息
ClassPathXmlApplcationContext
从类路径xml文件中加载上下文定义的信息
XmkWebApplicationContext从web文件中加载上下文中定义的信息
ApplicationContext 名=new FileSystemXmlApplicationContext(文件中的xml);
ApplicationContext 名=new ClassPathXmlApplicationContext("类路径.xml);

  完整流程
  定义xml
<bean id="自定义" class="包名.类名"/>
之后写接口和实现类
定义个接口之后再实现接口
再写个方法里面加上这个
//获取xml
   1.{ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
    //变成对象
    UserDao userDao=(UserDao)applicationContext.getBean("UserDao");
    userDao.login();
    之后就可以直接调用方法了}
    对象名.方法名
    可以setter注入
    setter注入方式需要定义一个类实现其他接口
    在里面加上下面这种形式
    public void setUserDao(Userdao userdao){
    this.ueserdao=userdao;
    实现其他接口方法(){
    //调用要注入的
this.userDao.login();
    }
 }
 之后再配置xml就行了
 <bean id="自定义" class="包名.类名"/>
<property name="要注入的类名"ref="要注入的类名"/>
</bean>
之后把1走一遍就可以了
//
标注成bean的注解
@Component普通无含义@Service业务层@Repository数据访问层@Controller控制层
@Autowired对属性变量属性的setter方法和构造方法进行标注配合对应注解完成bean得装配
@Resource按照名字和类型进行装配诺不指定则按照名字则按照类型装配啥都没有就会报错
@Qualifier将默认类型装配改为名称装配.配合这个东西用@Autowired
使用注解要在xml中加上包体扫描
<context:compent-scan base-package="要注解包的路径">
自动装配加上autowire
属性值有这几个根据上级bean确定default
byname根据名字自动装配根据名称查找和属性完全一样的bean并将属性自动装配
byType根据数据类型进行装配
constructor根据构造函数参数进行byType装配
根据注解将上面翻译过来
xml里面写这个
<context:compent-scan base-package="要注解包的路径">
代码部分
@Controller("标注要注入的类")
将注入改成@Resource(name=要注入的类)

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
springAOP切面编程(好好用对象多好非得切)
在xml用<aop:config>定义包含在bean元素内
在aop:config中包括<aop:pointcut><aop:advisor><aop:aspect><aop:aspect>元素下还有一堆通知
<aop:before>这是前置通知
<aop:after-returning>后置通知
<aop:around>环绕通知
<aop:after-throwing>异常通知
<aop:after >最终通知
用aop之前要先定义一个普通bean再将普通bean转换为切面bean
1.<aop:aspect>id定义该切面的唯一标识名称
ref用于引用普通的Spring Bean
2,配置往哪个地方切
通过<aop:pointcut>元素来定义
要是在<aop:config>下面就是全局切入点
要是在<aop:aspect>只对当前切面有效
指定id用于定义切入点唯一标识名称
用于指定切入点关联的切入点表达式
expression(返回类型,拦截包名.类名.方法.参数)
基于注解声明
@Aspect定义切面
@Pointcut用于定义切入点表达式
@Before定义前置通知
@AfterRwtyrning定义后置通知
@Around定义环绕通知
@AfterThrowing用于定义异常通知
@After定义最终通知
@DeclareParents定义引介通知



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值