当前位置:文档之家› Spring总结

Spring总结

Spring总结
Spring总结

Spring

1:Spring下载地址

Spring jar包:http://projects.spring.io/spring-framework/

http://repo.spring.io/release/org/springframework/spring/

Eclipse插件:http://spring.io/tools/sts/all

2:Spring bean配置

代码方式:

1.导入jar包

2.配置Springconfig文件(通过反转控制bean)

3.获取:getBean();

Xml定义bean:

获取bean:

ClassPathXmlApplicationContext paths=new ClassPathXmlApplicationContext("spring.xml");

Beans

bean=(Beans)paths.getBean("spring");

bean.toSpring();

概念方式:

1.在项目中添加Spring核心jar包

2.配置bean文件

3.通过ClassPathxmlApplication 获取配置

1.创建IOC对象

2.从IOC中获取bean实例

3.特殊符号的时候,我们需要用在value里面用的

3:研究Bean

1:通过set方法注入值:

2.通过构造器注入值

例如 属性:

value:值

index:索引

type:类型

4.set和构造器注意事项:

1.set注入不能有构造方法

2.构造器注入必须指定构造方法

5.特殊符号转义:

例如

"]]>

6.Bean的配置方法:

7.Bean的作用域:

?init-method属性:用于指定当前Bean的初始化方法,在Bean实例创建好后,首先会调用其指定名称的方法

?destory-method属性:用于指定当前Bean的销毁方法,在Bean即将被销毁之前会自动调用该属性指定的方法

ClassPathXmlApplicationContext.close()方法销毁bean

Lazy-init=”true”: 可以手动控制单例模式下是否实例化(默认:default)beans:default-lazy-init全局设置

8.P标签简化Bean:

在XML文件头部添加xmlns:p="https://www.doczj.com/doc/575909701.html,/schema/p"即可使用。

使用P:导入jar包spring-expression-4.3.10.RELEASE.jar

9.Bean集合:

java.util.Properties

元素对应于java.util.ArrayList.

元素用来注入java.util.Map元素。

9.Bean别名:

同一个bean 在不同的使用空间中(其两个名字,语意话) name:对应bean id alias:别名

10.内部Bean

内部bean:

1.不能被外界所调用

2.IOC容器启动不会实例化

11.R ef属性

引入外bean

12.抽象bean +继承

1.子类通过parent属性得到父类beanid

2.父bean可以作为配置模板abstract =true

抽象bean 不能实例化,只能被继承

3.抽象bean可以没有class

4.ApplicationContext 不会加载抽象bean

12.SpEL

元素的value属性中使用#{}

使用静态属性 #{T(https://www.doczj.com/doc/575909701.html,ng.Math).random()}

也可以调用自定义方法!

13.Bean注解

1.context:component-scan 属性指定一个需要扫描的包

2.@Component 基本注解

@Repository 表示持久层

@Service 服务层

@Controller 表现层

bean引用名字第一个字母小写,可以自定义bean的名称

允许扫描

org.springframework.stereotype.Controller

不允许扫描

14.autowire属性

byName值:表示通过id名称来自动匹配;

byType值:表示通过class指定的类型来自动装配;

15.autowire注解

如果类型重复,可以配合Qualifier这个注解来完成@Autowired

@Qualifier("userimpl")

3:Aop

1.通过注解方式实现Aop步骤

1.导入jar包aspectjweaver-1.7.1

2.设置切入点@Aspect

3.启用注解配置

4.增强通知:

–@Before: 前置通知, 在方法执行之前执行

–@After: 后置通知, 在方法执行之后执行

–@AfterRunning:返回通知, 在方法返回结果之后执行

–@AfterThrowing:异常通知, 在方法抛出异常之后

–@Around: 环绕通知, 围绕着方法执行

2.切入点表达式

切入点表达式 execution(* com.service.impl..*.*(..))

1、execution(): 表达式主体。

2、第一个*号:表示返回类型,*号表示所有的类型。

3、包名:表示需要拦截的包名,后面的两个句点表示当前包和当前包的所有子包,com.service.impl包、子孙包下所有类的方法。

4、第二个*号:表示类名,*号表示所有的类。

5、*(..):最后这个星号表示方法名,

3.pointcut通用定义

1.@pointcut(“execution()”)

Public void put(){}//签名方法

@Before(“签名方法()” ) //调用

3.aop执行级别(顺序)

4.@Order(“number”)

级别越小,越先执行………

5.JoinPoint对象

joion.getSignature().getName() 获取方法名

getArgs();获取参数(返回数组类型)

@Pointcut("execution(public int com.test.been.Means.test1(..))") public void find(){}

@Before("find()")

public void test2(JoinPoint jPoint){

Object[] lis=jPoint.getArgs();

System.out.println("前"+lis[0]);

}

6.ProceedingJoinPoint对象

用在环绕通知里面:

//环绕通知

@Around("find()")

public Object around(ProceedingJoinPoint join){

Object res=0;

System.out.println("前置通知");

try {

res=join.proceed();

} catch (Throwable e) {

e.printStackTrace();

System.out.println("异常通知");

}

System.out.println("返回通知........."+res);

System.out.println("后置通知.........");

return res;

}

pjd.proceed(); 让方法继续执行

7.增强通知:

–@Before

–@After:

----------------------------------都携带JoinPoint对象

–@AfterRunning:

------------------------------JoinPoint对象(value="cuts()",returning="retus")–@AfterThrowing:

------------------------------JoinPoint对象(value="cuts()",throwing="ex")

–@Around:

1.必须有返回值

2.携带ProceedingJoinPoint对象

3.如何获取返回值join.proceed();不能返回Null

4. Throwable如果出现异常获取不到执行函数返回值

8.通过xml形式配置Aop

注意:不能使用

:指定bean方法

Pointcut:定义切点

returning="returns"/>

P:属性

P:属性-ref 指向bean

12

kong

篮球

第一

第二

第仨2

第五是

4注解

首先我们应该导入spring-aop-4.3.10.RELEASE.jar然后在xml中配置扫描,

base-package:设置扫描包路径,多个包逗号隔开

use-default-filters:开启关闭自动扫描类型

子标签:

允许扫描

org.springframework.stereotype.Controller

不允许扫描

自动装配

@Autowire属性:用于指定当前Bean的依赖关系的自动注入方式,其有五个值:byName值:表示通过id名称来自动匹配;

byType值:表示通过class指定的类型来自动装配;

4:Jdbc

1.jdbc配置步骤

1.依赖 jdbc.jar tx.jar 。。。数据库驱动包

2.配置数据源

3.把数据源传递给jdbcTemplate;

1.使用jdbctemplate方法….

1.jdbc配置方法有三种

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

value="com.mysql.jdbc.Driver">

value="jdbc:mysql://localhost:3307/day26">

-->

update方法:用于执行语句:insert delete update

可变参数:第一个参数是SQL语句,第二个开始是SQL语句中替换的参数。

Eq:

getJdbcTemplate().update(sql,1,2)

2.jdbcTemplate方法

queryForObject 查询单列

queryForObject(sql,返回类型,...)

queryForMap查询单行记录

queryForMap(sql) 返回类型是Map 通过get("字段")获取

queryForList查询多条记录:

queryForList方法就是用于查询有限列作为结果,其结果为一个list,每个元素是一个map,每个map是一行。

execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

jdbcTemplate.execute(CREATE TABLE USER (user_id integer, name varchar(100));

相关主题
文本预览
相关文档 最新文档