spring框架的四大原则(高内聚,低耦合)
1:使用POJO进行轻量级和最小侵入式开发
2:通过依赖注入和接口编程实现松耦合
3:通过AOP和默认习惯进行声明式编程
4:使用AOP和模板(template)减少模式化代码
依赖注入(DI)和控制反转(IOC)
所谓的依赖注入指的是容易负责创建对象和维护对象之间的关系,主要的目的是为了接耦。
Spring IoC容器(ApplicationContext)负责创建Bean,并通过容器将功能类的Bean注入到你需要的Bean中。Spring提供了使用xml,注解,Java配置,groovy配置实现Bean的创建和注入。
声明Bean的注解
@Component 组件,没有明确角色
@Service ,在业务逻辑层使用
@Repository , 在数据访问层使用
@Controller ,在展现层(MVC- Spring MVC)使用
注入bean的注解
@Autowired Spring提供的注解
@Inject JSR-330提供的注解
@Resource JSR-250提供的注解
可注解在set方法和属性上
配置类
@Configuration 声明当前的类是配置类,相当于Spring配置的XML文件
@Bean注解在方法上,声明当前的方法的返回值是一个Bean
@ComponentScan 自动扫描包下的所有使用@Service、@Component、@Repository、@Controller的类,并注册为Bean
AOP面向切面编程
Spring支持@AspectJ的注解式切面编程
1:使用@Aspect声明这是一个切面
2:使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数
3:其中@After、@Before、@Around参数的拦截规则为切点(PointCut),为了使切点复用,可以用@PointCut专门定义拦截规则,然后在@After、@Before、@Around中调用
4:其中符合条件的每一个拦截处为连接点(JoinPoint),每一个连接点往往代表一个方法的执行